Javascript Jquery数据表过滤器
我在我的网页中使用了Jquery数据表。我还为网格使用了自定义过滤器。下面是自定义过滤器的代码 代码Javascript Jquery数据表过滤器,javascript,jquery,datatables,Javascript,Jquery,Datatables,我在我的网页中使用了Jquery数据表。我还为网格使用了自定义过滤器。下面是自定义过滤器的代码 代码 var oTable = $('#myDataTable').dataTable(); jQuery('#myDataTable_filter').find("input").keyup(function () { var Input = $(this).val(); oTable.fnFilter('^' + Input, null, true, null); $('
var oTable = $('#myDataTable').dataTable();
jQuery('#myDataTable_filter').find("input").keyup(function () {
var Input = $(this).val();
oTable.fnFilter('^' + Input, null, true, null);
$('#myDataTable_filter').find("input").val(Input);
});
上述代码适用于所有情况,但不适用于搜索(A*STAR)。它没有选择正确的搜索结果。任何人都可以帮我解决问题。您的解决方案不适用于
A*STAR
,因为当您在此处筛选时:
oTable.fnFilter('^' + Input, null, true, null);
正则表达式正在生成^A*星
,但是当*
是元字符时,正确的正则表达式应该由\
转义,所以正则表达式应该是^A*星
你可以看到
添加了更新的代码
^
元字符
var Input = $(this).val().replace(/([&\/\\#,\^+()$~%.'":*?<>{}])/g,"\\$1");//this is will add prefix \ to meta character
oTable.fnFilter('^' + Input, null, true, null);
var Input=$(this).val().replace(/([&\/\\\\\\\\\\\\,\^+()$~%.”:*?{}])/g,“\\$1”);//这将为元字符添加前缀
fnFilter(“^”+输入,null,true,null);
您的解决方案不适用于A*STAR
,因为在此处筛选时:
oTable.fnFilter('^' + Input, null, true, null);
正则表达式正在生成^A*星
,但是当*
是元字符时,正确的正则表达式应该由\
转义,所以正则表达式应该是^A*星
你可以看到
添加了更新的代码
^
元字符
var Input = $(this).val().replace(/([&\/\\#,\^+()$~%.'":*?<>{}])/g,"\\$1");//this is will add prefix \ to meta character
oTable.fnFilter('^' + Input, null, true, null);
var-Input=$(this).val().replace(/([&\/\\\\\\\\\\\\\\\\\\\\\\\\\\,\^+()$~%.“:*?{}])/g,“\\$1”)//这是将向元字符添加前缀\的操作
fnFilter(“^”+输入,null,true,null);
你能试试oTable.fnFilter(“^”+Input.replace(“*”,“\*”),null,true,null);能否尝试oTable.fnFilter('^'+Input.replace('*','\*')、null、true、null);搜索单词A^STAR
怎么样??由于上面的正则表达式在搜索A^Start
时不起作用。您希望匹配的确切值??在我的网格中,新加坡的A^Star Hotels
值存在。如果我使用关键字A^Star
搜索,则正则表达式应产生上述值。但它不返回任何值。还需要一个帮助。当我搜索字符串(CHS)
时,在我完成键入(CHS)
之前,过滤记录中没有任何更改。比如说,网格中有10条记录。其中只有一条记录与字符串(CHS)
匹配。但是当我输入(
或(CHS
字符)时,网格中的字符没有变化然后它很好地显示了一条记录。请帮助。搜索A^STAR
这个词怎么样?因为上面的正则表达式在搜索A^Start
时不起作用。你想匹配什么?在我的网格中,值A^STAR Hotels In Singapore
在那里。如果我用键搜索,正则表达式应该得到上面的值wordA^Star
。但它不返回任何值。还需要一个帮助。当我搜索字符串(CHS)
时,在我完成键入(CHS)
之前,筛选记录中不会有任何更改。例如,网格中有10条记录。其中只有一条记录与字符串(CHS)
匹配。但是当键入(
或(CHS
字符在网格中没有变化。当我完成(CHS)
时,它会很好地显示一条记录。请帮助。