私には、基本的に、フォーマット、地域、人口統計、興味の4つのレベルのフィルターがあります。
<div class="form-div">
<input type="checkbox" data-filter="i-newspaper">
<input type="checkbox" data-filter="i-magazine">
</div>
<div class="form-div">
<input type="checkbox" data-filter="i-northland">
<input type="checkbox" data-filter="i-southland">
</div>
<div class="form-div">
<select>
<option value="4" data-filter="i-digital">Digital</option>
<option value="1" data-filter="i-manufacturing">Manufacturing</option>
<option value="2" data-filter="i-retail">Retail</option>
</select>
</div>
<div class="form-div">
<input data-filter="i-business-and-finance" type="checkbox">
<input data-filter="i-careers-and-education" type="checkbox">
<input data-filter="i-design-and-photography" type="checkbox">
</div>
同位体からのフィルターは、上記でチェック/選択されたものに基づいています。
私はこのようなものを使用していました:
var selectors = [];
$(".form-div").find("input:checked, option:selected").each(function(){
selectors.push('.'+$(this).data('filter'));
});
selectors = selectors.join('');
これは次のようなセレクターを提供していました.i-newspaper.i-magazine.i-northland.i-southland.i-digital.i-design-and-photography
(これらがチェック/選択されたフォーム要素であると仮定して)
ただし、それぞれ.form-div
が個別のセットであるため、上記の選択で取得したいと思います。
.i-newspaper.i-southland.i-digital.i-design-and-photography,
.i-newspaper.i-northland.i-digital.i-design-and-photography,
.i-magazine.i-southland.i-digital.i-design-and-photography,
.i-magazine.i-northland.i-digital.i-design-and-photography
このようなことはどのように達成されますか?
私の質問がさらに明確にする必要があるかどうか教えてください...
ありがとう
編集
この問題の別の代替ソリューションは、「マルチレベル」フィルタリングです。
したがって、このセットでフィルタリングします。.i-newspaper, .i-magazine
次に、このセットでサブセットをフィルタリングします。i-southland, .i-northland
などなど...
EDIT2 JsFiddle :http: //jsfiddle.net/MkME9/