datatables.js 正在修改渲染输出

datatables.js is munging the rendered output

我遇到了最奇怪的事情。我有以下代码段:

$('#workQueueTable').DataTable({
    "data": requests,
    "columns": [
        { "title": "Project ID", "data":"ProjectID", "render": function(data) {
                return '<a href="javascript:void();" onclick="getDataFromSP("FormByID", "' + data + '")"' + '>' + data + '</a>';
                }  
        },
        { "title": "Project Description", "data": "Title", "sWidth": "50%" },
        { "title": "Date Requested", "data": "DateRequested", "sWidth": "10%", "render": function(data) {
            return (data.getMonth()+1) + '/' + data.getDate() + '/' + data.getFullYear();
        } },
        { "title": "Stage", "data": "Stage", "sWidth": "15%" }
    ]
});

那应该放一个简单的 url 像:

<a href='javascript:void();' onclick="getDataFromSP("FormByID", "PR012393")>PR012393</a>

但我得到的是:

<a onclick="getDataFromSP(" href="javascript:void();" FormByID?,="" ?PR-NewReq?)?="">

非常感谢任何指导。

提前谢谢你。 京东

更改此行

return '<a href="javascript:void();" onclick="getDataFromSP("FormByID", "' + data + '")"' + '>' + data + '</a>'

return '<a href="javascript:void();" onclick="getDataFromSP(\"FormByID\", \"' + data + '\")"' + '>' + data + '</a>'

必须转义"字符,否则会比预期提前退出onclick属性

编辑:

尝试将 " 更改为 '

return '<a href="javascript:void();" onclick="getDataFromSP(\'FormByID\', \'' + data + '\')">' + data + '</a>'

改用这一行:

return '<a href="javascript:;" onclick="getDataFromSP(\'FormByID\', \'' + data + '\')">' + data + '</a>'

使用&quot; 是在用双引号括起来的属性值中使用双引号的唯一方法。例如 onclick="getData(&quot;value&quot;)"

但是,使用单引号更容易。但是,您需要将它们转义为 \',这样这些引号就不会结束它们所包含的字符串,因为您还使用单引号来定义字符串。