Javascript 将DataTable().search()与if语句一起使用

Javascript 将DataTable().search()与if语句一起使用,javascript,jquery,datatable,tablefilter,Javascript,Jquery,Datatable,Tablefilter,Datatable().search()函数有问题。 我希望实现的是,当我键入以“x:”开头的内容时,我想过滤索引为1的列,在另一种情况下,它应该过滤列0 我没有发现任何类似的问题。对于DataTable(),可能无法执行此操作 谢谢你的时间 以下是我的js代码: function filterName() { var regularExpression = $('.column_filter').val();

Datatable().search()函数有问题。 我希望实现的是,当我键入以“x:”开头的内容时,我想过滤索引为1的列,在另一种情况下,它应该过滤列0

我没有发现任何类似的问题。对于DataTable(),可能无法执行此操作

谢谢你的时间

以下是我的js代码:

     function filterName() {

                    var regularExpression = $('.column_filter').val();
                    var columnNum = 0;

                    if (regularExpression[0] == 'x' && regularExpression[1] == ':') {
                        columnNum = 1;
                        regularExpression = regularExpression.substring(3, regularExpression);
                    } else {
                        columnNum = 0;
                    }

                    if (regularExpression[regularExpression.length - 1] == ' ') {
                        regularExpression = regularExpression.substring(0, regularExpression.length - 1);
                    }
                    regularExpression = regularExpression.replace(/\s/g, "|");

                    $('#table')
                        .DataTable()
                        .column(columnNum)
                        .search(
                            regularExpression,
                            true,
                            false
                        )
                        .draw();
                }

             $('#table')
                        .DataTable({
                            "paging": false,
                            "ordering": false,
                            "info": false,
                            "autoWidth": false,
                            "sDom": '<"top"i>rtlp'

                        });
                    $('.column_filter')
                        .on('keyup click',
                            function () {
                                filterName();
                            });
函数过滤器名称(){
var regularExpression=$('.column_filter').val();
var columnNum=0;
if(正则表达式[0]='x'&&正则表达式[1]=':'){
columnNum=1;
regularExpression=regularExpression.substring(3,regularExpression);
}否则{
columnNum=0;
}
if(regularExpression[regularExpression.length-1]=''){
regularExpression=regularExpression.substring(0,regularExpression.length-1);
}
regularExpression=regularExpression.replace(/\s/g,“|”);
$(“#表”)
.DataTable()
.column(columnNum)
.搜索(
规范的表达,
是的,
假的
)
.draw();
}
$(“#表”)
.数据表({
“分页”:false,
“命令”:错误,
“信息”:错误,
“自动宽度”:false,
“sDom”:“rtlp”
});
$('.column_filter')
.on('键控单击',
函数(){
过滤名称();
});
好的,我找到了一个解决方案。 我必须清除搜索功能

我补充说:

   $('#table')
              .DataTable()
              .columns()
              .search('');
之前:

         $('#table')
                    .DataTable()
                    .column(columnNum)
                    .search(
                        regularExpression,
                        true,
                        false
                    )
                    .draw();