gpt4 book ai didi

javascript jquery datatables 未定义不是一个函数

转载 作者:行者123 更新时间:2023-11-28 13:31:43 26 4
gpt4 key购买 nike

我正在按照 jquery datatables 教程添加子表以在单击后显示。

var table = $("#equipment_table").dataTable(
{
"paging": false,
"ordering": false,
"info": false
});
$('#equipment_table tbody').on('click', 'td .pickup_button', function(){
alert("clickee");
var tr = $(this).closest('tr');
var row = table.row(tr);
if(row.child.isShown()){
//open , close it
row.child.hide();
tr.removeClass('shown');
}else {
row.child( buildChild(tr.attr('id'))).show();
tr.addClass('shown');
}
});

这是 php 中的 html 按钮定义

    echo '<td> <button class="delivery_button" id="'.$eid.'"> Delivery Status </button> </td>';
echo '<td> <button class="pickup_button" id="'.$eid.'"> Pickup Status </button> </td>';
echo '</tr>';
}
echo '</tbody>';

让点击监听器工作后,我收到此错误

Uncaught TypeError: undefined is not a function 

var row = table.row(tr);

最佳答案

这只是一个案例问题。您应该像这样定义变量table:

var table = $("#equipment_table").DataTable(
{
"paging": false,
"ordering": false,
"info": false
});

注意它如何使用 .DataTable() 而不是 .dataTable()

这是 API Docs for DataTables 中的内容:

It is important to note the difference between $( selector ).DataTable() and $( selector ).dataTable(). The former returns a DataTables API instance, while the latter returns a jQuery object.

由于您返回的是 jQuery 对象而不是 API 实例,因此方法 .row() 未定义,这就是导致抛出错误的原因。

希望有帮助。

关于javascript jquery datatables 未定义不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24254262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com