我是网络开发和jquery的新手,无法弄清楚我做错了什么。
$(document).ready(function() {
/* initialise table */
var oTable = $('#table').DataTable( {
"oLanguage": {
"sEmptyTable": "No data defined!"
},
});
/* test */
$('#testbtn').click( function () {
oTable.row('.selected').remove().draw( false );
oTable.fnAddData( [ "aa", "aa", "aa" ] ); - throws error
oTable.fnGetNodes().serialize(); - throws error
} );
});
在document.ready中,我正在初始化我的数据表,然后为页面上的按钮设置点击处理程序。
在按钮单击处理程序中,第一行正常工作。即它从表中删除了选定的行。 但是第二行和第三行通过以下错误;
Uncaught TypeError: undefined is not a function
但是如果我将第二行展开到
$('#table').DataTable().fnAddData( [ "aa", "aa", "aa" ] );
$('#table').DataTable().fnGetNodes().serialize();
它们工作正常,第一行在我的表中添加一行,第二行虽然没有做太多,但不再出错了。
有什么想法吗?
由于
答案 0 :(得分:8)
fnAddData和fnGetNodes不再是函数(这正是你的错误所说的)
答案 1 :(得分:0)
您使用DataTable API处理表。构造函数不会返回对API的引用,只是用于查找元素的jQuery对象。
您使用不带参数的DataTable
方法来获取对API的引用:
var oTable = $('#table').DataTable( {
"oLanguage": {
"sEmptyTable": "No data defined!"
},
}).DataTable();