このコードを入手したこのリンクを見つけました:
$(document).ready(function(){
//when a link in the filters div is clicked...
$('#filters a').click(function(e){
//prevent the default behaviour of the link
e.preventDefault();
//get the id of the clicked link(which is equal to classes of our content
var filter = $(this).attr('id');
//show all the list items(this is needed to get the hidden ones shown)
$('#content ul li').show();
/*using the :not attribute and the filter class in it we are selecting
only the list items that don't have that class and hide them '*/
$('#content ul li:not(.' + filter + ')').hide();
});
});
うまくいきましたが、選択ボタンでこのコードを使用しています。オプションを選択すると、正常にフィルタリングされます。しかし、私は複数の選択 (実際には 5 つ) を持っていますが、この状況でのアプローチ方法がわかりません。
例:
アイテム: イチゴ、リンゴ、チェリー、オレンジ、バナナ、グレープ
1 を選択 - すべての果物、赤い色、緑色など
2 を選択 - すべての形、丸みを帯びた形、三角形の形。
3 を選択 - すべて別のもの、別のもの
ユーザーは最初に赤の色を選択できます - 最初のフィルター。
それから彼は丸みを帯びたものを選ぶことができたので、リンゴとチェリーが答えになるでしょう.
既に表示されている画像のみをフィルタリングしようとしましたが、情報を戻そうとするとエラーが発生しました。
結果がリンゴとチェリーの同じ例で、ユーザーがすべての果物を選択した場合、結果はリンゴ、チェリー、オレンジ、グレープでなければなりません。
いくつかのアドバイス?
以下にコード例を示します 。フィルターは分離された方法で動作していることに注意してください。