jQuery过滤(过滤时关闭和打开容器)

时间:2018-11-04 21:44:42

标签: jquery

我有带有类别和子类别的侧边栏导航(单击父类别时显示/隐藏)。

使用:

https://www.w3schools.com/jquery/jquery_filters.asp

我的代码:

$('#filter input').on('keyup', function() {
    var value = $(this).val().toLowerCase();

    $('#category a').filter(function() {
        $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
    });
});

过滤工作正常,现在我想做的是检查#category是否关闭(默认情况下我正在应用类.hide),类似:

if ( $('#category').css('display') == 'none' ){
   $('#category').toggleClass('hide')
}

我可以使它工作(某种):

$('#filter input').on('keyup', function() {
    var value = $(this).val().toLowerCase();

    $('#category a').filter(function() {
        $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
    });

    if ( $('#category').css('display') == 'none' ){
        $('#category').toggleClass('hide')
    }
});

这显然使#category按钮保持打开状态,如果所有字符都已从过滤器中删除,我该如何关闭主要类别?因此,当用户开始搜索时,如果主要类别已关闭,则在过滤时将其打开,如果在进行子选择之前清空了过滤器,则将其关闭。希望这是有道理的。

0 个答案:

没有答案