今天在写代码的时候用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="#" οnclick="archiveDocumentList('+name+');">'+subname+'</a>';
//var ce = "<a href='#' οnclick='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="#" οnclick="archiveDocumentList(\''+name+'\');">'+subname+'</a>';
//var ce = "<a href='#' οnclick='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="#" οnclick="archiveDocumentList('+row.id+'\,\''+row.name+'\',\''+row.type+'\');">'+subname+'</a>';
//var ce = "<a href='#' οnclick='favoriten("+name+");'>点击</a>";
return tn;
}
}
希望能够帮助其他人尽快解决问题