从Generated Content for a Column获取提示,我使用相同的代码在我的返回数据中添加“删除”选项作为额外列。 “删除”选项显示在表格中,但是当我点击它时,我正在
t.row不是函数
错误。以下是我正在使用的代码:
var t = $("table#available_profiles").dataTable({
"processing": true,
"serverSide": true,
"ajax": "retrieve_profiles",
"columns": [
{ data: 0 },
{ data: 1 },
{ data: 2 },
{ data: 3 },
{ data: 4 },
{ data: 5 },
{ data: 6 },
{
data: null,
defaultContent: '<a href="#" class="remove">DELETE</a>',
orderable: false
},
],
"columnDefs": [ {
"searchable": false,
"orderable": false,
"targets": 0
} ],
"order": [[ 5, "desc" ]]
});
$('table#available_profiles').on( 'click', 'a.remove', function () {
var data = t.row( $(this).parents('tr') ).data(); // error here
alert( data[1] +"'s salary is: "+ data[ 7 ] );
return false;
} );
使用从服务器端处理的数据绘制表格。因此,插件js或服务器端代码都没有丢失的js文件或语法错误。
据我所知,t
也是一个全局变量。所以它应该在a.remove
点击功能中可用。但是我已经没想到为什么这不起作用了。
否则
的console.log(T);
返回以下内容:
我在任何地方都找不到row()
功能。怎么可能这样呢?
答案 0 :(得分:2)
确定。我解决了问题是我将插件称为
$("table#available_profiles").dataTable({....});
然而它应该是
$("table#available_profiles").DataTable({...}); // notice the capital D