JQuery Checkbox过滤

时间:2013-03-04 08:36:46

标签: jquery filtering

我遇到了一个问题,即制作一个过滤系统,该系统会添加一个类来抑制与复选框条件不匹配的元素的不透明度。当我尝试颠倒过程时,要删除该类,要么使用'toggle'而不是'click',要么循环测试条件,我会遇到错误的复选框无法正常工作(不会出现勾号)。

我想要做的是,在复选框被取消选中后,删除“不透明度”类,以便它返回到初始的,预过滤的页面视图。这是我没有错误的代码,直到删除不透明度类:

$(".filters :checkbox").click(function(){
   $('.video-placeholder').addClass('opacity');
   $('.filters :checkbox:checked').each(function() {
       $("." + $(this).val()).addClass('opacity-full');
   });
});

任何帮助都会很受欢迎!我在这里托管了它:http://yaocho-digital.com/83london/ - 谢谢。

JP

1 个答案:

答案 0 :(得分:0)

您将在下面找到代码基本表示的jsFiddle,

http://jsfiddle.net/zcQnj/27/

    $('.filters :checkbox:checked').each(function() {
        $("." + $(this).val()).removeClass('opacity').addClass('opacity-full');
    });

    if ( $('.filters :checkbox:checked').length == 0 ) 
        $('.video-placeholder').removeClass('opacity');

通过在匹配时删除不透明度类并且没有应用过滤器时,我希望我能正确理解您的问题!