数据表.row()未定义

Shi*_*aty 22 javascript jquery undefined datatables jquery-datatables

我想通过简单地点击相关的按钮删除行.. 数据表是有效的,我可以使用一些基本的功能,如数据中的排序和搜索,但当我点击按钮它只是简单地说未定义的错误:

为了您的信息,我使用datatable 1.10和jquery 1.10.2 在此输入图像描述

代码:

<table cellpadding="0" cellspacing="0" border="0" class="row-border" id="table">
<thead>
    <th>Video ID</th>
    <th>Filename</th>
    <th>Action</th>
</thead>
<tbody>
    <td>1</td>
    <td>ABCD</td>
    <td><input type='button' name='deleteBtn' value='Delete' />
</tbody>
<tfoot>
    <tr>
        <th>Video ID</th>
        <th>Filename</th>
        <th>Action</th>
    </tr>
</tfoot>
</table>

<script src="jquery.min.js"></script>
<script src="jquery.dataTables.min.js"></script>
<script type="text/javascript">
var table = $('#table').dataTable( {} );

$('#table tbody').on('click',"input[type='button']",function() {
    table
        .row( $(this).parents('tr') )**
        .remove()
        .draw();
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

dav*_*rad 57

它不起作用,因为dataTable()构造函数和DataTable()1.10.x中引入的构造函数之间存在巨大差异(请参阅docs):

两者之间的区别在于第一个将返回一个jQuery对象,而第二个返回一个DataTables API实例.

简单地改变

var table = $('#table').dataTable( {} );
Run Code Online (Sandbox Code Playgroud)

var table = $('#table').DataTable( {} );
Run Code Online (Sandbox Code Playgroud)

如果你想通过table变量处理新的dataTables API .
看你的代码工作 - > http://jsfiddle.net/Sd6UQ/

注意:记得使用<tr>.. </tr><td>正确关闭.dataTables可能对格式错误的标记非常敏感.