试图使这个使用 .find 的 jQuery 过滤器不区分大小写。
例如,当 search = "cat"(无引号)时,它会找到 "cat" 但不会找到 "Cat" 或 "CAT"。同样,“Cat”会找到“Cat”,但不会找到“cat”。
我怀疑这是非常基本的东西,但无法弄清楚,所以我在第一篇文章中联系了这里。
我无法控制列表项本身的内容,因此无法在那里修改任何内容,
在此先感谢您的帮助!
PS请不要对你们可能很初级的东西大喊大叫。;)
$("#filter").live("keyup", function (ev) {
var $filter = $(this),
keyCode = ev.keyCode || ev.which,
search;
if (keyCode === 27) { //ESC
$filter.val("");
}
search = $(this).val();
$("#results").find("li").each(function () {
var $li = $(this);
if (search === "") {
$li.show();
} else {
if (_.include(service_names, search)) {
$li.toggle($li.hasClass("items-" + search));
} else {
if ($li.text().search(search) > 0) {
$li.show();
} else {
$li.hide();
}
}
}
});
});