Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DataTables预先选择过滤器选项以显示特定数据_Javascript_Jquery_Datatable - Fatal编程技术网

Javascript DataTables预先选择过滤器选项以显示特定数据

Javascript DataTables预先选择过滤器选项以显示特定数据,javascript,jquery,datatable,Javascript,Jquery,Datatable,我已经对如何设置dataTable列筛选器的默认选项进行了大量的搜索,但我找不到如何设置。我仍然是DT的新手,所以我想我会先点击它,然后在没有任何东西出现的情况下花上数小时编写文档 在任何情况下,我都设置了一个函数来实例化一个新的DT。然后在我的表中的“用户名”列中添加一个列过滤器。数据在表中都显示得很好。成功 在我的列过滤器中,有几个用户名显示为选项。我的问题是:如何预先选择其中一个选项,并且只让用户数据显示在表中 场景:在我的用户专栏中,我有“彼得·潘”的价值。在我的用户栏过滤器中,我有“彼

我已经对如何设置dataTable列筛选器的默认选项进行了大量的搜索,但我找不到如何设置。我仍然是DT的新手,所以我想我会先点击它,然后在没有任何东西出现的情况下花上数小时编写文档

在任何情况下,我都设置了一个函数来实例化一个新的DT。然后在我的表中的“用户名”列中添加一个列过滤器。数据在表中都显示得很好。成功

在我的列过滤器中,有几个用户名显示为选项。我的问题是:如何预先选择其中一个选项,并且只让用户数据显示在表中

场景:在我的用户专栏中,我有“彼得·潘”的价值。在我的用户栏过滤器中,我有“彼得·潘”选项。我正在将“彼得·潘”的价值传递到页面中。如何在表格中只显示彼得潘的价值

 $(document).ready(function() {
        $('#userListTable').DataTable( {
            initComplete: function () {
                var api = this.api();
                api.columns().indexes().flatten().each( function ( i ) {
                    var column = api.column( 2 );
                    var select = $('<select><option value=""></option></select>')
                            .appendTo(
                                    $(column.header()).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>' )
                    } );
                    select.val("Peter Pan");
                    select.trigger('change');
                } );
            }
        } );
    });
$(文档).ready(函数(){
$('#userListTable')。数据表({
initComplete:函数(){
var api=this.api();
api.columns().index().flatte().each(函数(i){
var列=api.列(2);
变量选择=$(“”)
.附录(
$(column.header()).empty()
).on('change',function(){
var val=$.fn.dataTable.util.escapeRegex($(this.val());
column.search(val?“^”+val+“$”:“”,true,false).draw();
});
column.data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
} );
select.val(“彼得潘”);
select.trigger('change');
} );
}
} );
});

谢谢

你能提供一个提琴示例吗?假设你的过滤代码有效,只需在右边触发更改事件就可以了。我必须看看如何做,然后与你联系。我在上面的帖子中添加了代码。根据您的建议,我将Peter Pan设置为select.val(“Peter Pan”);而且效果很好。唯一的问题是表没有更新。有什么想法吗?想出来了。上面添加了代码。