我正在尝试让我的输入搜索字段在JS中同时在2个不同的列中搜索2个值。我已经开始使用1值搜索此代码:
$("#boo").click(function(){
var table = $('#table').DataTable();
table.search("boo").draw();
});
我尝试使用column()。search(),但无法正常工作:
$("#boo").click(function(){
var table = $('#table').DataTable();
table.column([2,3]).search("boo", "New").draw();
});
我正在尝试过滤表格,例如性别和类型,您能帮我吗?
答案 0 :(得分:1)
尝试使用 .columns 代替 .column :
$("#boo").click(function(){
var table = $('#table').DataTable();
table.columns([2,3]).search("boo", "New").draw();
});
请参阅DataTables文档here。
函数column().search()
将搜索特定的列,而columns()。search()允许您搜索数组中定义的多个列。
编辑
我刚刚在您的示例中添加了一行:
$("#boo").click(function(){
var table = $('#table').DataTable();
table.search("boo").draw();
table.columns([2,3]).filter("boo", "New").draw();
});
答案 1 :(得分:0)
只需搜索2列:
$("#boo").click(function(){
var table = $('#table').DataTable();
table.column(2).search("male");
table.column(3).search("asia").draw();
});
答案 2 :(得分:0)
.draw()
函数不会执行您没有告知的任何操作。简而言之,您可以运行许多不同的事件,然后使用.draw()
进行调用。就像Zim84建议的那样,您可以在2个不同的列中进行搜索,但是在第一个列中,您不会.draw()
,但是在第二个搜索中将调用.draw()
。
所以..是的,做类似
table.column(2).search("male");
table.column(3).search("asia").draw();
会很好。