Jquery 在Datatable搜索中使用括号搜索值,但不给出结果
我有以下代码,用于创建datatble并过滤值,但是当值包含括号时,搜索不会给出任何结果,尽管如果我选择全部查看,则可以查看值 我用了这两种方法Jquery 在Datatable搜索中使用括号搜索值,但不给出结果,jquery,datatables,datatables-1.10,Jquery,Datatables,Datatables 1.10,我有以下代码,用于创建datatble并过滤值,但是当值包含括号时,搜索不会给出任何结果,尽管如果我选择全部查看,则可以查看值 我用了这两种方法 column.search(val ? '^' + val + '$' : '', true, false).draw(); 及 但它不能用括号搜索值 下面是完整的代码片段 initComplete: function () { this.api().columns([1,2,3,4,5,6]).ev
column.search(val ? '^' + val + '$' : '', true, false).draw();
及
但它不能用括号搜索值
下面是完整的代码片段
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>')
} );
} );
}
initComplete:函数(){
this.api().列([1,2,3,4,5,6])。每个(函数(){
var列=此;
变量选择=$('(全部)')
.appendTo($(column.footer()))
.appendTo($(column.footer()).empty())
.on('change',function(){
var val=$.fn.dataTable.util.escapeRegex(
$(this.val()
);
警报(“Asche::”+val);
柱
.search(val?“^”+val+“$”:“”,true,false)
.draw();
});
column.data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
} );
} );
}
您尝试过对搜索值进行URL编码吗?没有,我没有尝试过。因此,对于这一点,不需要下面的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>')
} );
} );
}