我试图用多个关键字过滤表,如果一个tr
包含所有关键字,然后显示。我发现了一些在ul
上效果很好的东西,但是在桌子上表现得很直。这里的jsfiddle:http://jsfiddle.net/AtkNW/81/表jQuery多值过滤器
该过滤器似乎只检查每个tr
的第二个或第三个td
。我错过了什么?我可以用一只手。
$("#kwd_search").keyup(function() {
var filter = $(this).val().toLowerCase(),
count = 0;
var length = $(this).val().length;
if (length > 1) {
var filter_tags = filter.split(" ");
$("#dep td").each(function() {
var $this = $(this);
var matches = true;
$.each(filter_tags, function (i, a_filter) {
if ($this.text().toLowerCase().indexOf(a_filter) === -1) {
matches = false;
}
});
if (matches) {
$this.parent("tr").removeClass("hidden");
} else {
$this.parent("tr").addClass("hidden");
}
});
} else {
$("#dep td").parent("tr").removeClass("hidden");
}
});
嗨Tushar。我正在考虑索引中的一些问题,但它比我想象的要复杂得多,谢谢你的帮助。只有一件事,我只想显示匹配所有关键字的'tr',而不是匹配其中一个关键字的'tr'。我无法确定你为什么改善了行为。 –
你是说如果你一起输入两个关键字? –
是的,如果我输入“hi bye”,我只想显示包含“hi”和“bye”的“tr”。 –