table.column不是jquery datatabbe中的函数

v2g6jxz6  于 12个月前  发布在  jQuery
关注(0)|答案(4)|浏览(197)

在jquery datatable中,我得到了错误表。列不是函数

<script>

$(document).ready(function() {
    var table = $('#lsotable').dataTable();

    $("#lsotable thead th").each( function ( i ) {

        var select = $('<select><option value=""></option></select>')
            .appendTo( $(this).empty() )
            .on( 'change', function () {
                table.column( i )
                    .search( $(this).val() )
                    .draw();
            } );

        table.column( i ).data().unique().sort().each( function ( d, j ) {
            select.append( '<option value="'+d+'">'+d+'</option>' )
        } );
    } );
} );
</script>

字符串
我从while循环中获取表数据,我想它应该只有三列,我怎么能做。

4smxwvx5

4smxwvx51#

只需将dataTable()更改为DataTable(),如下所示。

var table = $('#lsotable').DataTable();

字符串

dsf9zpds

dsf9zpds2#

我得到了同样的错误“表.列不是一个函数”,但我刚刚解决了。
旧代码:

const table = $('#my_table');
// table.DataTable({...});
table.DataTable();
$('#my_table thead tr:eq(0) th').each(function (i) {
    if ($(this).html() === $('#my_search_field').val()) {
        table.column(i).search($('#my_search_query').val()).draw();
    }
});

字符串
新代码:

const table = $('#my_table').DataTable();
$('#my_table thead tr:eq(0) th').each(function (i) {
    if ($(this).html() === $('#my_search_field').val()) {
        table.column(i).search($('#my_search_query').val()).draw();
    }
});


这看起来很荒谬,但解决了这个问题。

gmol1639

gmol16393#

看起来你正在使用旧版本的数据表库。我尝试了数据表版本1.10.12,它工作得很好。

ufj5ltwl

ufj5ltwl4#

那些在datatable版本**1.9.* 中遇到类似问题的人可以看看这里:
链路

相关问题