datatables.js正在修改渲染的输出

时间:2015-06-23 14:18:34

标签: javascript datatables

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

$('#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%" }
    ]
});

那应该是一个简单的网址:

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

但我得到的是:

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

非常感谢任何指导。

提前谢谢你。 JD

2 个答案:

答案 0 :(得分:0)

请改用此行:

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

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

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

答案 1 :(得分:-1)

更改此行

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>'