Jquery 隐藏时的怪异行为&;用手风琴显示列表元素
我从我的网站有问题的部分做了一个分析 当我尝试编写代码时: 在字段中键入一些字母将使用typeahead列出名称,当在typeahead下拉列表中单击任何元素时,没有包含搜索的Jquery 隐藏时的怪异行为&;用手风琴显示列表元素,jquery,twitter-bootstrap,html-lists,bootstrap-typeahead,Jquery,Twitter Bootstrap,Html Lists,Bootstrap Typeahead,我从我的网站有问题的部分做了一个分析 当我尝试编写代码时: 在字段中键入一些字母将使用typeahead列出名称,当在typeahead下拉列表中单击任何元素时,没有包含搜索的的手风琴将隐藏,而其中包含与搜索内容匹配的的手风琴,只应显示匹配的s,其他应隐藏 现在,所有的都会显示出来,即使它们不包含搜索 我试图修复它,但根本找不到解决方案。使用您的代码,我将其修改为此。 显示LI后,您希望搜索显示的LI列表,并隐藏不符合contains选择器条件的所有子项 演示 更改代码: $('#findnam
的手风琴将隐藏,而其中包含与搜索内容匹配的
的手风琴,只应显示匹配的
s,其他应隐藏
现在,所有的
都会显示出来,即使它们不包含搜索
我试图修复它,但根本找不到解决方案。使用您的代码,我将其修改为此。 显示LI后,您希望搜索显示的LI列表,并隐藏不符合contains选择器条件的所有子项 演示 更改代码:
$('#findname').typeahead({
source: namelist,
updater: function(item) {
$('#ponies .accordion-group').show();
$('#ponies .accordion-body li:not(:contains(' + item + '))').parent().parent().parent().parent().hide();
$('#ponies .accordion-body li:contains(' + item + ')').parent().parent().parent().parent().show();
$('#ponies .accordion-body li:contains(' + item + ')').parent().parent().parent().addClass('in');
$('#ponies .accordion-body li').hide();
var tmp = $('#ponies .accordion-body li:contains(' + item + ')').show();
tmp.each(function() {
$(this).siblings().each(function(){ $.hide() });
});
return item;
},
})
我用你的代码把它修改成这个。 显示LI后,您希望搜索显示的LI列表,并隐藏不符合contains选择器条件的所有子项 演示 更改代码:
$('#findname').typeahead({
source: namelist,
updater: function(item) {
$('#ponies .accordion-group').show();
$('#ponies .accordion-body li:not(:contains(' + item + '))').parent().parent().parent().parent().hide();
$('#ponies .accordion-body li:contains(' + item + ')').parent().parent().parent().parent().show();
$('#ponies .accordion-body li:contains(' + item + ')').parent().parent().parent().addClass('in');
$('#ponies .accordion-body li').hide();
var tmp = $('#ponies .accordion-body li:contains(' + item + ')').show();
tmp.each(function() {
$(this).siblings().each(function(){ $.hide() });
});
return item;
},
})
查看控制台,我刚刚注意到jQuery抛出了一个错误
uncaughttypeerror:cannotcall方法'call'of undefined
。在解决此问题之前,我将收回绿色勾号。使用$(this.sibbins().each(function(){$(this.hide())修复错误代码>,建议编辑。查看控制台,我刚刚注意到jQuery抛出了一个错误uncaughttypeerror:无法调用未定义的方法“call”
。在解决此问题之前,我将收回绿色勾号。使用$(this.sibbins().each(function(){$(this.hide())修复错误代码>,建议编辑。