2016-04-29 29 views
0

jQueryを使用してデータ属性をフィルタリングする必要があります。 まず、selectboxでフィルタリングしてから、チェックボックスでフィルタしたいと思います。私が欲しいのは、両方のテキストボックスをチェックしたときに、データがすべて表示されることです。しかし、今では、最初のデータチェックボックスしか表示されません。フィドルを見てください。条件私が試した場合で 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に設定されます。3番目の条件にはなりません。

は何愚かな間違い

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

私は2つ以上のチェックボックスがある場合はどうですか?私はすべての単一のチェックボックスで条件を追加するのではなく、より良い方法が必要だと思う –