如何重绘数据表列过滤器?

时间:2017-04-28 15:05:00

标签: javascript java jquery datatables

我正在使用datatable plugin with individual column filters,我发现这是一个很棒的插件,但它只是在选择列过滤器后过滤表数据而不是列过滤器下拉列表中的值。

我在寻找,当我选择一个列过滤器时,它还会重绘其他列过滤器,而不是显示整个表的该列中的所有值。

我看起来像this example

datatable

如果我从Office栏目过滤器中选择新加坡,它会显示4条记录,其中有4个不同的位置,我期待位置列过滤器中只有4个值。但是它给出了整个表格的所有独特价值。

有人可以帮我解决这个问题吗?

我的代码如下:

$('#myTableId').DataTable( {
                colReorder : true,
                initComplete: function () {
                    this.api().columns([0,1]).every( function () {
                        var column = this;
                        var select = $('<select><option value="">All</option></select>')
                            .appendTo( $(column.footer()).empty() )
                            .on( 'change', function () {
                                var val = $.fn.dataTable.util.escapeRegex(
                                    $(this).val()
                                );

                                column
                                    .search( val ? '^'+val+'$' : '', true, false )
                                    .draw();
                            } );

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

0 个答案:

没有答案