您的位置:首页 > Web前端 > JavaScript

js引号问题

2015-10-12 23:30 711 查看
这是问题是在使用easyui datagrid控件时候遇到的。

代码如下所示:

{field:'-',title:'操作',width:100,
formatter: function(value,row,index){
return "<a href='#' onclick='edit("+row.uuid  +")'  >修改</a>";
}
}


这里如果row.uuid是数字,调用edit()方法是没有问题的,但是如果换位字符串那么问题就来了,xx undefined

因为js会把这里的row.uuid认为一个变量,所以会报这个错误。

好,解决方法就是将row.uuid用引号引起来,代码改为这样:

{field:'-',title:'操作',width:100,
formatter: function(value,row,index){
return "<a href='#' onclick='edit('"+row.uuid  +"')'  >修改</a>";
}
}


这时候又会报错,

这是因为js中单双引号是配套使用的,如果将上述代码运行,就会看到

<a href='#' onclick='edit('asdefas6sdaswwd')'  >修改</a>
这时候看出问题了吧,就是引号的问题,js语法会认为onclick='edit('是一个表达式

所以最终解决方案是这样的:

{field:'-',title:'操作',width:100,
formatter: function(value,row,index){
return "<a href='#' onclick='edit(\""+row.uuid  +"\")'  >修改</a>";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: