首页 > 解决方案 > 在 Datatable 搜索中搜索带括号的值而不给出结果

问题描述

我有以下代码用于创建数据表并过滤值,但是当值包含括号时,搜索不会给出任何结果,尽管如果我选择查看全部可以看到值。

我用过

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

var val = $.fn.dataTable.util.escapeRegex(
                                         $(this).val()
                                     );

但它无法搜索带括号的值。

下面是完整的代码片段

initComplete: function () {
                         this.api().columns([1,2,3,4,5,6]).every(function () {
                         var column = this;
                         var select = $('<select style="width:130px; font-size: 13px;text-align-last: center; padding: 2px 1px 2px 1px; background: #fff; border: 1px solid #ccc; border-radius: 6px;position: relative; "><option value="">(All)</option></select>')
                        .appendTo($(column.footer()))
                          .appendTo( $(column.footer()).empty() )
                                 .on('change', function () {
                                     var val = $.fn.dataTable.util.escapeRegex(
                                         $(this).val()
                                     );
                                    alert("Asche::"+val);
                                     column
                                         .search(val ? '^' + val + '$' : '', true, false)
                                         .draw();
                                 });
                             column.data().unique().sort().each(function (d, j) {
                                 select.append('<option style="text-align-last: right;" value="' + d + '">' + d + '</option>')
                    } );
                } );
            }

标签: jquerydatatablesdatatables-1.10

解决方案


推荐阅读