为什么这些数据表功能不确定'?

时间:2014-06-09 10:23:12

标签: javascript jquery datatables jquery-datatables

我是网络开发和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();

它们工作正常,第一行在我的表中添加一行,第二行虽然没有做太多,但不再出错了。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:8)

fnAddData和fnGetNodes不再是函数(这正是你的错误所说的)

请参阅https://datatables.net/upgrade/1.10-convert

答案 1 :(得分:0)

您使用DataTable API处理表。构造函数不会返回对API的引用,只是用于查找元素的jQuery对象。

您使用不带参数的DataTable方法来获取对API的引用:

var oTable = $('#table').DataTable( {
  "oLanguage": {
    "sEmptyTable": "No data defined!"
  },
}).DataTable();