我正在尝试使用一个搜索栏和名为“描述”的列中的另一个搜索栏搜索“部件号”和“内部参考”列:
到目前为止,我正在尝试使用html:
...
<th class="code">Part Number</th>
<th class="keyword">Description</th>
<th class="code">Internal Reference</th>
...
这是在.js:
$('#keyword-search').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
oTable.columns('.keyword').search('^' + val, true, false).draw();
});
$('#code-search').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
oTable.columns('.code').search('^' + val, true, false).draw();
});
我希望能够在“部件号”或“参考”列中搜索,但不能同时搜索两者,只是为了显示第一列或第二列中表达式所在的列。
我需要解决这个问题,我尝试了不同的方法,但我找不到解决方案。
编辑1:我想要这样的最终结果:
但是搜索不起作用,没有最终的过滤结果,两列之间存在冲突,因为它在“零件编号”列和“内部参考”列中同时搜索“NUM1” 。我的意思是代码正在进行 AND 搜索,而不是 OR 搜索,这就是我想要的。
答案 0 :(得分:1)
有些事情应该有效:
$('#keyword-search').keyup(function() {
var searchText = $(this).val().toLowerCase();
$.fn.dataTable.ext.search.push(function(settings, data, dataIndex) {
//Assuming part number and internal reference are 1st and 3rd columns
if((~data[0].toLowerCase().indexOf(searchText)) || (~data[2].toLowerCase().indexOf(searchText))) {
return true;
}
return false;
}