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

Using DataTable().search() with if statement

我对 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();
                            });

好的,我找到了解决办法。 我不得不清除搜索功能。

我补充了:

   $('#table')
              .DataTable()
              .columns()
              .search('');

之前:

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