在js中生成table时向js中的函数传递中文参数时不能调用该函数

来源:互联网 发布:淘宝宝贝仓库在哪 编辑:程序博客网 时间:2024/06/16 19:02

今天在写代码的时候用bootstrap在js中生成表格内容时,对表格中的内容加入超链接,即使用a标签,在a标签中使用onclick传递参数带中文或者字母时遇到了问题,不能调用对应的函数,纠结了好长时间,开始传递单个参数时,我是这样写的:

{field:'name',align: 'center',title:'归档名称',formatter:function(value,row,index){var name = row.str;var subname = name.substring(13,name.length);var tn = '<a id="btn_archive" href="#" onclick="archiveDocumentList('+name+');">'+subname+'</a>';//var ce = "<a href='#' onclick='favoriten("+name+");'>点击</a>";return tn;}}
其中name中是带有中文的,但是怎么样都调用不了archiveDocumentList()方法,

解决办法是:

{field:'name',align: 'center',title:'归档名称',formatter:function(value,row,index){var name = row.str;var subname = name.substring(13,name.length);var tn = '<a id="btn_archive" href="#" onclick="archiveDocumentList(\''+name+'\');">'+subname+'</a>';//var ce = "<a href='#' onclick='favoriten("+name+");'>点击</a>";return tn;}}
当要传递多个参数时,需要这样:

{field:'name',align: 'center',title:'归档名称',formatter:function(value,row,index){var name = row.str;var subname = name.substring(13,name.length);var tn = '<a id="btn_archive" href="#" onclick="archiveDocumentList('+row.id+'\,\''+row.name+'\',\''+row.type+'\');">'+subname+'</a>';//var ce = "<a href='#' onclick='favoriten("+name+");'>点击</a>";return tn;}}


希望能够帮助其他人尽快解决问题

原创粉丝点击