現在、私はフィルタリングアプリケーションを開発中です。顧客は黒をクリックしたときに、それが黒の製品が表示されますですIAM何をしてだからここに私のhtmlとjsのコードチェックボックスの値に基づいてクラスを表示/非表示Jquery
jQuery(document).ready(function($){
$(".color-label").on("click",function(){
\t
\t var color_box_val= $(this).find('.color-box').val();
\t $('.test-li').hide();
\t $('div:contains('+color_box_val+')').closest('.test-li').show();
\t });
});
.hidden-color{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<label class="color-label">Red<input type="checkbox" class="color-box" value="red"/></label>
<label class="color-label">Black <input type="checkbox" class="color-box" value="Black"/></label>
<ul>
<li class="test-li">
<div class="test-div">
<p class="hidden-color">red</p>
\t red poduct
</div>
</li>
<li class="test-li">
<div class="test-div">
<p class="hidden-color">Black</p>
\t black Product
</div>
</li>
<li class="test-li">
<div class="test-div">
<p class="hidden-color">Blue</p>
\t blue Product
</div>
</li>
を参照してください。顧客が赤と黒の両方をクリックした場合、両方を表示する必要があり、顧客が何もチェックしなかった場合、すべての製品を表示する必要があります。
しかし、私はいくつかの点で立ち往生しました。クリックしたときに赤と黒の両方を表示するにはどうすればいいですか?現在、新しくクリックされたチェックボックスに基づいて結果を表示しています。また、すべてのものをアンチックすると、すべてのボックスを表示する必要があります。提案してください 。
は、以下の概念実証例を参照してください。それは働いている。良い説明。 – Manik
@Manik何もチェックされていないシナリオを含めるように答えを更新しました。すべての項目が表示されるはずです – Terry
本当にありがとうございます。 2番目のシナリオでは別のコードを作成しましたが、コードは完璧です。私はif(colors.length == 0){$( "。test-li")と書く。 }。あなたはwoocommerceとwordpressを知っていますか? 。 – Manik