製品のリストに対して複雑なフィルタリングシステムを構築する必要があります。製品リストの基本構造は次のとおりです。
<ul id="prod-list">
<li class="item type-brochure lang-english">Brochure: English</li>
<li class="item type-folder lang-english lang-french">Folder: English, French</li>
<li class="item type-bulletin lang-english">Bulletin: English</li>
<li class="item type-folder lang-english lang-french">Folder: English, French</li>
<li class="item type-folder lang-english">folder: English</li>
<li class="item type-brochure lang-english lang-spanish">Brochure: English, Spanish</li>
<li class="item type-brochure lang-english">Brochure: English</li>
<li class="item type-folder lang-english">Folder: English</li>
<li class="item type-bulletin lang-english">Bulletin: English</li>
</ul>
次に、タイプと言語フィルターごとにチェックボックスを設定します。
<p><strong>Filter by Type:</strong></p>
<p><input type="checkbox" id="type-brochure" /> <label for="type-brochure">Brochure</label></p>
<p><input type="checkbox" id="type-folder" /> <label for="type-folder">Folder</label></p>
<p><input type="checkbox" id="type-bulletin" /> <label for="type-bulletin">Bulletin</label></p>
...
<p><strong>Filter by Language:</strong></p>
<p><input type="checkbox" id="lang-english" /> <label for="lang-english">English</label></p>
<p><input type="checkbox" id="lang-spanish" /> <label for="lang-spanish">Spanish</label></p>
<p><input type="checkbox" id="lang-french" /> <label for="lang-french">French</label></p>
...
ご覧のとおり、各アイテムにはタイプがあり、次に言語があります。アイテムは複数のタイプと言語を持つことができます。
基本的に、タイプのチェックボックスをORステートメントとして機能させる必要があります(ユーザーがパンフレットとフォルダーのチェックボックスをオンにすると、すべてのパンフレットとフォルダーが一覧表示され、その他はすべて非表示になります)。
次に、言語のチェックボックスをANDステートメントとして機能させる必要があります(ユーザーが英語とフランス語のチェックボックスをオンにすると、英語とフランス語の両方の項目のみが表示され、他のすべての項目は非表示になります)。
このような他の質問を調べましたが、2つの異なるフィルタリング方法でそのようなものを機能させる方法がわかりません。フィルタは連携して機能する必要があります。たとえば、ユーザーがパンフレット、英語、フランス語をチェックすると、英語とフランス語の両方のパンフレットのみが表示されます。
誰かがこれを達成する方法について何かアドバイスがあれば、それは大いにありがたいです。
ありがとう