2014-10-07 13 views
0

我有以下代碼:http://jsfiddle.net/qum7n8Lt/jQuery的結合複選框值修改輸出

我想所有的檢查項目,使其因此只有類的顯示方式,而不是隻需要一個。

$(".wpbdp-listing:visible").hide(); 
checkedboxes.each(function() { 
    $('.' + $(this).val()).closest('.wpbdp-listing').show(); 
}); 

此刻,如果你選擇「顏色」和「自定義」,將顯示包含彩色或自定義的結果。我希望它只顯示包含顏色和自定義的結果。

+2

聽不懂你在問什麼? – 2014-10-07 09:54:22

+0

你想實現與此類似? http://jsfiddle.net/k3965fr5/1/ – reuelab 2014-10-07 09:56:52

+0

此刻,如果你選擇「顏色」和「自定義」,將顯示包含彩色或自定義的結果。我希望它只顯示包含顏色和自定義的結果。 – user1872809 2014-10-07 09:57:40

回答

1

更改低於ToggleThings功能,你需要做的檢查複選框的值列表,然後用它作爲jQuery選擇找到div

function ToggleThings() 
{ 

    var checkedboxes = $("#filters :checkbox:checked"); 

    if(checkedboxes.length > 0) 
    { 
     $(".wpbdp-listing:visible").hide(); 
     //create a string of '.' (dot) preceded class name list 
     var classess = '';  
     checkedboxes.each(function() { 
      classess+='.' + $(this).val(); 
     }); 
     //use class string to find all div 
     $(classess).closest('.wpbdp-listing').show(); 
    } 
    else 
    { 
     $(".wpbdp-listing").show(); 
    } 
} 

DEMO

0

您可以選擇多個類是這樣的:

$(".class1.class2.class3.class545645").doWhatYouWant();

所以,你可以在創建你的類,選擇您的.each()

var selector = ""; 
checkedboxes.each(function(){ 
    selector += "."+$(this).val(); 
}); 

現在可以顯示出與該項目選擇器:

$(selector).closest('.wpbdp-listing').show(); 
+0

這是不一樣的東西......你的「選擇」只會如果元素擁有所有這些類工作...我不認爲這是問什麼的。 – 2014-10-07 09:58:33