【问题标题】:Jquery Isotope Checkbox filteringJquery同位素复选框过滤
【发布时间】:2011-08-10 00:08:53
【问题描述】:

我正在使用 jQuery 同位素。一切正常,但过滤有问题。我想使用多个类别我有 5 个复选框,但我不能同时使用它们。我能做什么?

$("#classic").click(function() {
    if($("#classic").is(":checked")) {
    $('#box').isotope({ filter: '.classic' });
    } else {
    $('#box').isotope({ filter: '' });
    }
});

例子

我的物品 = a,b,c,d,e,f,g,h

类别 = x (a,b,e) y (c,h) z(d,f,g)

现在如果我选择 x 和 z 复选框,它只会显示 a、b、e、d、f、g

但我做不到。我该怎么办?

【问题讨论】:

    标签: javascript jquery checkbox filter jquery-isotope


    【解决方案1】:

    这是一个复选框过滤的解决方案: http://jsfiddle.net/3nY9V/6/

    【讨论】:

    • 这太酷了!!!,但我不确定在处理两个过滤器维度时如何应用它。例如,如果您有一组颜色和另一组形状,我单击圆形和方形,我只想查看满足这两个要求的项目,这将带回所有圆圈(无论颜色)和所有红色项目(不论形状)。如果您能提供帮助,我很乐意提交问题。
    • 谢谢!只是我在另一个主题上发现的一个补充:要制作“全部显示”复选框,只需添加这一行 $container.isotope({ filter: ( filters == null || filters.length == 0 ) ? 'default' :过滤器 });
    【解决方案2】:

    看起来你的代码中有一个 js 错误(缺少单引号),并且在一个地方经典被用作 id,在另一个地方作为一个类。只是想找出是否不是问题所在。试试这个。

    function checkIsoTope(){
        var ids = [];
        $("#classic, #den, #wer").filter(":checked").each(function(){
          ids.push("." + this.id);
        });    
        $('#box').isotope({ filter: ids.join(',')});
    }
    $("#classic, #den, #wer, #allCheckboxId").click(checkIsoTope);
    

    【讨论】:

    • 不,它正在工作,这只是一个复选框的示例,如果我使用另一个复选框它不起作用
    • 这些复选框的 ID 是什么?
    • #classic , #den, #wer 示例我的项目 = a,b,c,d,e,f,g,h 类别 = x ( a,b,e) y (c,h ) z(d,f,g) 现在如果我选择 x 和 z 复选框,它只显示 a,b,e,d,f,g 但我不能这样做。我该怎么办?
    • 谢谢,但这不起作用我正在使用过滤器类,这是过滤器的真实语法 { filter: '.example1','.example3','.example3' } id name and我的代码中的类名相同如何修复代码?
    • 这三个复选框的类名是什么?
    猜你喜欢
    • 1970-01-01
    • 2013-09-06
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    相关资源
    最近更新 更多