【发布时间】:2011-08-15 10:22:48
【问题描述】:
http://jsfiddle.net/nicktheandroid/AtkNW/
我们的目标是获取文本框的值,其中包含多个关键字,用空格分隔,然后过滤列表以显示包含所有这些关键字的项目。现在,我只能输入<span class="tags"> 中列出的那些关键字。
我希望能够输入它们,但不按顺序输入,并且仍然只保留具有所有这些关键字的项目作为可见项目。我想我可能不得不在这里的某个地方使用.split(" ")...嗯...
<li>entertainment
<span class="tags">tv radio dance opera</span>
</li>
jquery:
$("#filter").keyup(function () {
var filter = $(this).val(), count = 0;
var length = $(this).val().length;
if (length > 1) {
$(".filtered li").each(function () {
if ($(this).text().search(new RegExp(filter, "i")) < 0) {
$(this).addClass("hidden");
} else {
$(this).removeClass("hidden");
count++;
}
});
} else {
$('.filtered li').removeClass("hidden")
count++;
}
$("#filter-count").text(count);
});
有谁知道如何做到这一点?
【问题讨论】:
标签: javascript jquery regex filter split