Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 使用选择框进行Datatable单列搜索_Javascript_Jquery_Drop Down Menu_Datatable - Fatal编程技术网

Javascript 使用选择框进行Datatable单列搜索

Javascript 使用选择框进行Datatable单列搜索,javascript,jquery,drop-down-menu,datatable,Javascript,Jquery,Drop Down Menu,Datatable,我可以使用datatable中的选择框进行单独搜索,但我只想对一列进行搜索,其他列是不必要的。例如,我只想在第二列和第三列上激活这个选择框 我找到了,但没用。以下是我的JavaScript代码: $(document).ready(function() { var table = $('#example').DataTable(); $("#example tfoot th").each( function ( i ) { var select = $('<

我可以使用datatable中的选择框进行单独搜索,但我只想对一列进行搜索,其他列是不必要的。例如,我只想在第二列和第三列上激活这个选择框

我找到了,但没用。以下是我的JavaScript代码:

$(document).ready(function() {
    var table = $('#example').DataTable();

    $("#example tfoot th").each( function ( i ) {
        var select = $('<select><option value="">Lütfen seçiniz</option></select>')
            .appendTo( $(this).empty() )
            .on( 'change', function () {
                var val = $(this).val();

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

        table.column( i ).data().unique().sort().each( function ( d, j ) {
            select.append( '<option value="'+d+'">'+d+'</option>' )
        } );
    } );
} );
$(文档).ready(函数(){
变量表=$(“#示例”).DataTable();
$(“#示例tfoot th”)。每个(函数(i){
var select=$('Lütfen seçinizing')
.appendTo($(this).empty())
.on('change',function(){
var val=$(this.val();
表.第(一)栏
.search(val?'^'+$(this).val()+'$':val,true,false)
.draw();
} );
table.column(i).data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
} );
} );
} );

有没有办法解决这个问题

您可以执行以下操作:

$(document).ready(function() {

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

    $("#example tfoot th").each( function ( i ) {

    if(i == 0){ //Create just one SelectBox
            var select = $('<select class='+i+'><option value=""></option></select>')
                .appendTo( $(this).empty() )
                .on( 'change', function () {

                    var val = $(this).val();

                    table.column( 0 ) //Only the first column
                        .search( val ? '^'+$(this).val()+'$' : val, true, false )
                        .draw();
                } );

            table.column( 0 ).data().unique().sort().each( function ( d, j ) {
                select.append( '<option value="'+d+'">'+d+'</option>' );
            } );
    } 
});
} );
$(文档).ready(函数(){
变量表=$(“#示例”).DataTable();
$(“#示例tfoot th”)。每个(函数(i){
如果(i==0){//只创建一个SelectBox
变量选择=$(“”)
.appendTo($(this).empty())
.on('change',function(){
var val=$(this.val();
table.column(0)//仅第一列
.search(val?'^'+$(this).val()+'$':val,true,false)
.draw();
} );
table.column(0).data().unique().sort().each(函数(d,j){
select.append(“”+d+“”);
} );
} 
});
} );

@Skynet:我再次提醒您修复帖子中其他显而易见的问题,例如帖子中不必要的注释(“谢谢”)、错误的代码缩进和其他格式问题。编辑会将帖子推到主页顶部,这样做只是为了添加标签,这是浪费时间。@Qantas 94 Heavy多次尝试过,但网站不允许我通过说这还不够来纠正它们。所以在这里我对此无能为力。@Skynet:然后也编辑其他文本,在文章的其他部分修改一些拼写,然后它会允许您。这次我已经为您完成了,请查看编辑摘要以查看我所做的更改。