Попробуйте использовать .columns вместо .column :
$("#boo").click(function(){
var table = $('#table').DataTable();
table.columns([2,3]).search("boo", "New").draw();
});
См. Документацию по DataTables здесь .
Функция column().search()
будет искать определенный столбец, тогда как columns (). Search () позволяет искать несколько столбцов, как определено в вашем массиве.
РЕДАКТИРОВАТЬ
Я только что добавил строку на вашем примере:
$("#boo").click(function(){
var table = $('#table').DataTable();
table.search("boo").draw();
table.columns([2,3]).filter("boo", "New").draw();
});
Функция .draw()
не делает ничего, о чем вы не говорите. Проще говоря, вы можете запустить много разных событий, а затем вызвать их все с помощью .draw()
. Как и предполагал Zim84, вы можете искать в 2 разных столбцах, но в первом случае вы не сделаете .draw()
, НО вы бы вызвали .draw()
при втором поиске.
Итак .. да, делать что-то вроде
table.column(2).search("male");
table.column(3).search("asia").draw();
будет работать нормально .
Просто поиск по 2 колонкам:
$("#boo").click(function(){
var table = $('#table').DataTable();
table.column(2).search("male");
table.column(3).search("asia").draw();
});