这是问题是在使用easyui datagrid控件时候遇到的。

代码如下所示:

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

这时候又会报错,

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

<a href='#' οnclick='edit('asdefas6sdaswwd')'  >修改</a>

这时候看出问题了吧,就是引号的问题,js语法会认为οnclick=‘edit(‘是一个表达式

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

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