jQuery数据表插入额外的双引号

jQuery数据表插入额外的双引号,jquery,datatables,Jquery,Datatables,我使用jQuery DataTables来显示一个表,其中每一行都是一个调用jQuery方法的链接。下面是我用来填充数据表的代码 table = $("#search-results").DataTable({ "data": dataTableRows, "columns": dataTableColumns, "columnDefs": [{ "targets": "_all", "render": function (data, type, row

我使用jQuery DataTables来显示一个表,其中每一行都是一个调用jQuery方法的链接。下面是我用来填充数据表的代码

table = $("#search-results").DataTable({
   "data": dataTableRows,
   "columns": dataTableColumns,
   "columnDefs": [{
      "targets": "_all",
      "render": function (data, type, row, meta) {
         if (type === 'display') {
            var rowValue = rowValues[meta.row];
            data = '<a href=javascript:void(0) OnClick=resultSelected("' + $('#source-control-name').val() + '","' + rowValue + '")>' + data + '</a>';
            alert(data);
         }
         return data;
      }
   }]
});
table=$(“#搜索结果”).DataTable({
“数据”:dataTableRows,
“列”:dataTableColumns,
“columnDefs”:[{
“目标”:“所有人”,
“呈现”:函数(数据、类型、行、元){
如果(类型==‘显示’){
var rowValue=rowValues[meta.row];
数据='';
警报(数据);
}
返回数据;
}
}]
});
我正在显示我的ASP身份角色列表,其中一些角色有空格。当用户单击一个角色时,我想调用
resultSelected
并传递角色的名称(该名称将位于下面代码中的
rowValue
)。如果角色是一个词,那么这就行了。但是,如果角色包含空格,则DataTables将插入额外的双引号

例如,如果角色名为
Inventory Manager
,则结果表(请注意
resultSelected
调用中Inventory和Manager两个词之间额外的双引号)

我在渲染函数期间执行了
警报
以打印
行值
的值,并且
行值
中没有额外的引号,因此DataTables必须添加额外的引号


如何阻止DataTables添加额外报价?

您的问题在这一行:

data = '<a href=javascript:void(0) OnClick=resultSelected("' + $('#source-control-name').val() + '","' + rowValue + '")>' + data + '</a>';
data=”;
您可以通过以下方式进行更改:

data = '<a href=javascript:void(0) OnClick="resultSelected(\'' + $('#source-control-name').val() + '\',\'' + rowValue + '\')">' + data + '</a>';
                                                          ^^^^.....
data=”;
^^^^.....
您需要转义字符串分隔符

演示:

选择的函数结果(名称、val){
log('Name:'+Name+'值:'+val);
}
var dataTableRows=[
{
“名字”:“老虎尼克松”,
“职位”:“系统架构师”,
“工资”:“$3120”,
“开始日期”:“2011/04/25”,
“办公室”:“爱丁堡”,
“extn”:5421
},
{
“姓名”:“Garrett Winters”,
“职位”:“董事”,
“工资”:“5300”,
“开始日期”:“2011/07/25”,
“办公室”:“爱丁堡”,
“extn”:“8422”
},
];
var dataTableColumns=[
{“数据”:“名称”},
{“数据”:“位置”},
{“数据”:“办公室”},
{“数据”:“extn”},
{“数据”:“开始日期”},
{“数据”:“工资”}
];
table=$(“#搜索结果”).DataTable({
“数据”:dataTableRows,
“列”:dataTableColumns,
“columnDefs”:[{
“目标”:“所有人”,
“呈现”:函数(数据、类型、行、元){
如果(类型==‘显示’){
var rowValue=row.name;
数据='';
}
返回数据;
}
}]
});

名称
位置
办公室
年龄
开始日期
薪水