基本的にあなたは自分のクラスはそれを動作させるために属性にアクセスする必要がありました。以下の作業フィドルで見つかった
$("#filters :checkbox").click(function() {
var subj = this;
resetBoxes();
$(".filterme").show();
if(this.checked){
var all = $(".filterme");
var tgts = all.filter(getFilter("brand")).filter(getFilter("class")).filter(getFilter("color"));
var brandtgt = tgts[0].className.split(' ')[1];
$("#filters :checkbox").each(function(idx){
var inval = $(this).attr("value");
var brandclasses = tgts[0].className.split(' ');
var found = $.inArray(inval, brandclasses);
if(found<0){
disable($(this));
}
});
all.not(tgts).hide();
tgts.show();
if (tgts.length == 0) {
$('.empty').show();
} else {
$('.empty').hide();
}
}
});
私が含まれてきたヘルパー関数(resetBoxes, enable, disable
):私はあなたのフィドルをフォークし、ここで修正されたバージョンです。唯一のカテゴリごとにexacly同じ属性を持ってチェックし、フィルタの内容を表示する方法
http://jsfiddle.net/ppzwmvs9/6/
はよさそうだが、それでも左の二つのこと:なし]チェックボックスがチェックされている場合 1.私は車のブランドまたはcarstyleまたは色の全カテゴリを確認することができるだろう。画像のように私はAudi、Bmw、Volvoをクリックしてから、色とカースタイルでフィルタリングすることができます。 2.いくつかのチェックボックスをチェックし、すべてチェックを外すと、いくつかのチェックボックスが無効になっています。 困ったときはThx! – Doodl
助けてくれて嬉しいです。そうですね、それはあなたのコードを頼りにしているclassNameにアクセスする際に、特にクラス名を調べるためのポインタを持つ大まかなコードです。残りのチェックボックスを無効または非表示にして、最初のステップをブランド選択にします。 – Qiqo
残ったバグを修正できますか?チェックボックスをチェックしてチェックを外すとチェックボックスが無効になり、そのバグが発生します。 :/ – Doodl