我使用以下代码来过滤表中的数据:
function searchFilter(ftr,table){
ftr = '#'+ftr;
table = '#'+table;
var $rows = $(table+' tbody tr');
$(ftr).change(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$rows.show().filter(function() {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(val);
}).hide();
});
}
但是如果其他列中有重复的信息,它也会显示它们。
我如何具体确定我希望过滤器在哪一列上工作?假设该列的 id 是 betaDate
。
我在这里缺少什么?
最佳答案
那么你会得到列的索引
var searchIndex = $("#betaDate").index();
并且在过滤器行中您可以使用索引
$(this).find("td").eq(searchIndex).text()...
<小时/>
还有另一种方法[逻辑可能不正确,但基本思想]
var index = 1; //starts at one not zero!
var text = "1";
$("table tbody tr td:nth-child(" + index + ")")
.filter( function() {
return $(this).text()!==text;
})
.parent()
.addClass("hide");
关于javascript - 如何使用 jQuery 让过滤器仅在一列中查找信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19528736/