单引号+双引号:传参的转义问题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wsdtq123/article/details/78263180
今天遇到一个奇怪的bug,在一个table中有一列按钮,是根据js代码返回的
formatter: function (cellvalue, options, rowdata) {
	                    return '<button class="btn green orderDetail" onClick="showDetail('+options.rowId+')">详情</button> <button class="btn green redoOrder">重试</button>';
	                }

我向onClick事件中的函数里面传入了一个参数,在页面上,这些“详情”按钮有些可用,有些不可用。
f6495f95-d245-3336-98f5-22827087378b.png
最终找到的原因是:options.rowId并不是一个真正的字符串,需要转义,
在向函数传参时,如果是字符串,需要这样传入参数showDetail("options.rowId"),
而不是这样传入参数showDetail(options.rowId)

所以需要将代码改为
formatter: function (cellvalue, options, rowdata) {
	                    return '<button class="btn green orderDetail" onClick="showDetail(\''+options.rowId+'\')">详情</button> <button class="btn green redoOrder">重试</button>';
	                }


搞定!
  • f6495f95-d245-3336-98f5-22827087378b-thumb.png
  • 大小: 3.5 KB
展开阅读全文

没有更多推荐了,返回首页