2016-04-29 90 views
0

我需要使用jQuery過濾數據屬性。 首先我想通過選擇框過濾,然後用複選框過濾。我想要的是當我檢查兩個文本框,數據將顯示所有。但現在,它只顯示第一個數據複選框。請看小提琴。 https://jsfiddle.net/legazy7891/t9krfjpy/4/jQuery多個過濾器數據屬性

此時如果條件我已經試過:

if ($('.3').is(':checked')) { chkBox.datatest = "1"; } 
else if ($('.4').is(':checked')) { chkBox.datatest = "6"; } 
else if ($('.3').is(':checked') && $('.4').is(':checked')) { chkBox.datatest = ""; } 
else { chkBox.datatest = ""; } 

但它不工作。

參考:JQuery - Filtering data attributes with multiple filters of different inputs

任何幫助將升值。謝謝

回答

1

問題是與條件的順序。當您同時選中複選框時,第一個條件將得到滿足$('.3').is(':checked')chBox.dataset將被設置爲1.它不會進入第三個條件。

嘗試以下

if ($('.3').is(':checked') && $('.4').is(':checked')) { 
    chkBox.datatest = ""; 
} else if ($('.3').is(':checked')) { 
    chkBox.datatest = "1"; 
} else if ($('.4').is(':checked')) { 
    chkBox.datatest = "6"; 
} else { 
    chkBox.datatest = ""; 
} 
+0

多麼愚蠢的錯誤。謝謝 –

+0

如果我有兩個以上的複選框,怎麼樣?我想我需要更好的方法,而不是在每個複選框中添加條件 –