jQuery数据表插入额外的双引号
我使用jQuery DataTables来显示一个表,其中每一行都是一个调用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
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;
数据='';
}
返回数据;
}
}]
});
名称
位置
办公室
年龄
开始日期
薪水