Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 隐藏时的怪异行为&;用手风琴显示列表元素_Jquery_Twitter Bootstrap_Html Lists_Bootstrap Typeahead - Fatal编程技术网

Jquery 隐藏时的怪异行为&;用手风琴显示列表元素

Jquery 隐藏时的怪异行为&;用手风琴显示列表元素,jquery,twitter-bootstrap,html-lists,bootstrap-typeahead,Jquery,Twitter Bootstrap,Html Lists,Bootstrap Typeahead,我从我的网站有问题的部分做了一个分析 当我尝试编写代码时: 在字段中键入一些字母将使用typeahead列出名称,当在typeahead下拉列表中单击任何元素时,没有包含搜索的的手风琴将隐藏,而其中包含与搜索内容匹配的的手风琴,只应显示匹配的s,其他应隐藏 现在,所有的都会显示出来,即使它们不包含搜索 我试图修复它,但根本找不到解决方案。使用您的代码,我将其修改为此。 显示LI后,您希望搜索显示的LI列表,并隐藏不符合contains选择器条件的所有子项 演示 更改代码: $('#findnam

我从我的网站有问题的部分做了一个分析

当我尝试编写代码时:

在字段中键入一些字母将使用typeahead列出名称,当在typeahead下拉列表中单击任何元素时,没有包含搜索的
  • 的手风琴将隐藏,而其中包含与搜索内容匹配的
  • 的手风琴,只应显示匹配的
  • 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())修复错误,建议编辑。