+ -
当前位置:首页 → 问答吧 → tpl里的{}与js的{}冲突怎么办

tpl里的{}与js的{}冲突怎么办

时间:2011-10-26

来源:互联网



action里的$this->assign('vo',$sta);
然后到模板里用{$vo}

一般情况是没问题的,但有时候要放到jquery里,导致直接得到$vo,而得不到$vo对应的值
比如这个jqgrid里定义一个列,{$dplist1}想要转成一个数组类型的字符串,但firebug看下来就只是{$dplist1},没转
{name:'Station',index:'Station', width:80, align:"center", sortable:false,editable: true,edittype:"select",editoptions:{value:'{$dplist1}'}},

查下来可以修改左右修订付把“{”改成“<{”
不过这样改,所有的html文档里的所有的都要改,很麻烦

后来我发现变量__URL__等可以正常转换,我也不清楚在哪里设置或注册,也不清楚在哪里进行转换的

请问有什么好办法解决冲突吗?

作者: bsdos   发布时间: 2011-10-26

加个空格 或者用literal标签封装

作者: thinkphp   发布时间: 2011-10-26

一般我都是加个空格处理的

作者: ultrafrog   发布时间: 2011-10-26

我尝试在几个地方加空格都不行,请问空格加在哪里?
{value:'{$dplist1}'}

$前面,$后面都试过不行

作者: bsdos   发布时间: 2011-10-26

加个空格 或者用literal标签封装
thinkphp 发表于 2011-10-26 15:46
我查了下smarty的literal,意思是忽略任何转换,那老大的意思是不是把js代码用literal封起来?
比如一下这句
  1. {name:'Station',index:'Station', width:80, align:"center", sortable:false,editable: true,edittype:"select",editoptions:{value:'{$dplist1}'}},
复制代码
要改成
  1. {literal}
  2. 。。。
  3. 。。。
  4. {name:'Station',index:'Station', width:80, align:"center", sortable:false,editable: true,edittype:"select",editoptions:{value:'
  5. {/literal}{$dplist1}{literal}
  6. '}},
  7. 。。。
  8. 。。。
  9. {/literal}
复制代码

作者: bsdos   发布时间: 2011-10-26

  1. { $
复制代码

作者: mycn   发布时间: 2011-10-26



不行,firebug里看到的是
  1. {......editoptions:{value: '{ $dplist1}'}},
复制代码
现在用了个没办法的办法
  1. action里是
  2. $this->assign('dplist1',"1:上海;2:南京;3:宁波;4:杭州;5:北京");
  3. tpl里是
  4. {......editoptions:{value: '{}{$dplist1}'}},
  5. firebug里看到的是
  6. {......editoptions:{value: '{}1:上海;2:南京;3:宁波;4:杭州;5:北京'}},

  7. 然后action里用if把{}去掉,获得1
复制代码

作者: bsdos   发布时间: 2011-10-26

虽然功能可以实现,但真的很别扭~
请各位老大看看为什么加空格不行(不知道是不是只是我这边不行)
还有为什么加了个{}却可以转换,使
{}{$dplist1}
可以转成
{}1:上海;2:南京;3:宁波;4:杭州;5:北京

作者: bsdos   发布时间: 2011-10-26

热门下载

更多