jQuery在项目列表中搜索
我正在使用jQuery构建一个简单的搜索功能,它将根据用户作为查询输入的内容过滤项目列表。它不会做任何花哨的算法,只是一个简单的匹配 在这里拉小提琴: 如你所见,我有嵌套列表。计划是,如果任何列表项匹配,那么它应该显示最高的父项jQuery在项目列表中搜索,jquery,Jquery,我正在使用jQuery构建一个简单的搜索功能,它将根据用户作为查询输入的内容过滤项目列表。它不会做任何花哨的算法,只是一个简单的匹配 在这里拉小提琴: 如你所见,我有嵌套列表。计划是,如果任何列表项匹配,那么它应该显示最高的父项,并隐藏所有没有匹配项的其他项 如果用户未键入任何内容,则所有列表项应再次显示 有人能帮我指出正确的方向吗。我尝试使用jqueryeach方法查找包含查询的所有项并显示它们,但它将它们全部隐藏…它不喜欢您使用contains(),它用于元素,而不是文本。我把它改成使用过滤
,并隐藏所有没有匹配项的其他项
如果用户未键入任何内容,则所有列表项应再次显示
有人能帮我指出正确的方向吗。我尝试使用jqueryeach方法查找包含查询的所有项并显示它们,但它将它们全部隐藏…它不喜欢您使用
contains()
,它用于元素,而不是文本。我把它改成使用过滤器。我还让它隐藏每个元素,而不仅仅是子元素li
元素,因此所有元素都被隐藏了
它现在可以工作了,但请记住它是区分大小写的
它不喜欢您使用
contains()
,它用于元素,而不是文本。我把它改成使用过滤器。我还让它隐藏每个元素,而不仅仅是子元素li
元素,因此所有元素都被隐藏了
它现在可以工作了,但请记住它是区分大小写的
够了吗?够了吗?
$('form.groups-search').live('submit', function(e) {
e.preventDefault();
query = $('input#q').val();
if (query === "") {
$('ul.groups-tree *').show();
} else {
$('ul.groups-tree *').hide();
$('ul.groups-tree li').filter(function () {
return $(this).text().indexOf(query) != -1;
}).show().parents().show();
}
});?