两个具有相同类的Jquery数据表无法正常工作

时间:2014-08-06 14:38:20

标签: jquery datatables jquery-datatables

我有两个具有相同类名的Jquery数据表。搜索功能在一个表中工作,而不在另一个表中。请查看我的代码并提供相关建议。

Jquery的

$('.dataTable th.searchClass').each( function () {
        var title= $(this).text();
        $(this).append( '<br/><input type="text" class="searchClassIcon" placeholder="Search '+title+'" />' );
    });

/*applying dataTable*/
     var table=$('.tab-section table.dataTable').DataTable({
            "bJQueryUI": true,
             "bSort": false,
            "sPaginationType": "full_numbers",
            "bPaginate":false,
            "bFilter":true,
            "sType":"string"

        });

// Apply the search
        table.columns().eq(0).each( function ( colIdx ) {
        $( 'input', table.column( colIdx ).header() ).on( 'keyup change', function () {
            //console.log("search");
            table.column( colIdx ).search( this.value ).draw();
        } );

2 个答案:

答案 0 :(得分:1)

您正在将dataTable函数应用于多个元素,并将这些元素分配给变量“table”。所以你的搜索功能需要指定它正在查看哪个表,否则它将默认为第一个表。

我能想到的最好的方法是在不使用表变量的情况下应用您的事件,然后在事件中使用$(this).parents('table').dataTable()来引用正在访问的特定表。

答案 1 :(得分:1)

您需要做的就是区分两个数据表。而是使用类,为表使用特定的 id 属性。并且,通过使用id属性,您可以调用其相应的搜索功能。