我在我的DataTable的actios列中放置了bootstrpa按钮组。该按钮由三个选项组成,每个选项调用一个单独的函数,传入Id的值。
这一切都在数据表的ColumnDefs部分设置,如下所示:
"columnDefs": [
{ "visible": false, "targets": 7 },
{ "visible": true, "targets": 8 },
{
"targets": 8,
"visible": true,
"searchable": false,
"sortable": false,
"data": "download_link",
"render": function (data, type, full, meta) {
return '<div class="btn-group" role="group">' +
'<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action<span class="caret"></span>' +
'</button>' +
'<ul class="dropdown-menu" role="menu">' +
'<li><a href="javascript:viewMessage(' + data + ');">View</a></li>' +
'<li><a href="javascript:completeMessage(' + data + ');">Complete</a></li>' +
'<li><a href="javascript:approveMessage(' + data + ');">Approve</a></li>' +
'</div>';
}
}
]
我的viewMessage函数甚至没有被调用,因为我得到了一个未被捕获的ReferenceError&#39;值&#39;没有定义。
如果我省略了数据&#39;价值,我的方法被解雇了。
答案 0 :(得分:1)
如果没有看到目标函数的代码很难完全确定,例如viewMessage
,但我认为问题在于您没有引用data
。这样做:
'<li><a href="javascript:viewMessage("' + data + '");">View</a></li>' +
'<li><a href="javascript:completeMessage("' + data + '");">Complete</a></li>' +
'<li><a href="javascript:approveMessage("' + data + '");">Approve</a></li>' +
没有引号,因为它是对变量的引用而插入data
。如果data
为“test”,则结果为
<a href="javascript:viewMessage(test);">View</a>
和test
作为变量在作用域中不存在,因此未捕获的ReferenceError'值'未定义(我猜您将传递的参数称为value
in这三个功能。