チェックボックスによる絞り込み検索を実装したい。また表示されるものに複数のカテゴリを持たせ、どれか一つでも該当した場合に表示させるような仕様にしたい。 ### 発生している問題・分からないこと ネットで調べて実装してみましたが、カテゴリを複数指定することができません。複数指定すると指定したカテゴリにチェックを入れても表示されなくなってしまいました。 ### 該当のソースコード ```jQuery jQuery(function ($) { $(".works_form_detail :checkbox").on("click", function () { var checked = []; $(".works_form_detail :checked").each(function () { checked.push($(this).val()); // pushは配列に値を追加します }); console.log(checked); $(".works_list_item").each(function () { var category = $(this).data("category"); console.log(category); // fun(worklist, category); var is_exist = $.inArray(category, checked); // inArray()は配列内に値があるかどうかを調べます if (is_exist != -1) { $(this).removeClass("hidden"); } else { $(this).addClass("hidden"); } }); }); });
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
一つのカテゴリのみ指定するような仕様では実装できたが、複数指定はできなかった。
補足
HTML
1<div class="works_search-box"> 2 <div class="works_contents l_container-lg"> 3 <form action="" class="works_form"> 4 <dl class="works_form_list"> 5 <dt class="works_form_heading"> 6 <span class="search-box_label">深絞り</span> 7 </dt> 8 <dd class="works_form_detail"> 9 <label><input type="checkbox" name="category[]" value="deep01" class="deep_checkbox works_form_checkbox">超深絞り</label> 10 <label><input type="checkbox" name="category[]" value="deep02" class="deep_checkbox works_form_checkbox">深絞り+α</label> 11 <label><input type="checkbox" name="category[]" value="deep03" class="deep_checkbox works_form_checkbox">難形状</label> 12 </dd> 13 <dt class="works_form_heading"></dt> 14 <dd class="works_form_detail"> 15 <label><input type="checkbox" name="category[]" value="change01" class="change_checkbox works_form_checkbox"><span class="search-box_label">工法転換</span></label> 16 <label>(コストダウン・軽量化・スピードアップ)</label> 17 </dd> 18 <dt class="works_form_heading"></dt> 19 <dd class="works_form_detail"> 20 <label><input type="checkbox" name="category[]" value="change02" class="change_checkbox works_form_checkbox"><span class="search-box_label">板鍛造</span></label> 21 </dd> 22 <dt class="works_form_heading"> 23 <span class="search-box_label">材質</span> 24 </dt> 25 <dd class="works_form_detail"> 26 <label><input type="checkbox" name="category[]" value="material01" class="material_checkbox works_form_checkbox">鉄</label> 27 <label><input type="checkbox" name="category[]" value="material02" class="material_checkbox works_form_checkbox">鍍金鋼板・ZAM</label> 28 <label><input type="checkbox" name="category[]" value="material03" class="material_checkbox works_form_checkbox">ステンレス</label> 29 <label><input type="checkbox" name="category[]" value="material04" class="material_checkbox works_form_checkbox">アルミ</label> 30 <label><input type="checkbox" name="category[]" value="material05" class="material_checkbox works_form_checkbox">銅・真鍮</label> 31 <label><input type="checkbox" name="category[]" value="material06" class="material_checkbox works_form_checkbox">ハイテン</label> 32 </dd> 33 </dl> 34 <div class="m_btn-wrapper works_form_btn-wrapper"> 35 <a href="" class="m_btn works_btn">すべて表示</a> 36 <!-- <label><input id="select-all" class="m_btn works_btn" type="reset" value="全解除" /></label> --> 37 </div> 38 </form> 39 </div> 40 </div> 41 <section class="works-list"> 42 <div class="works_contents l_container-lg"> 43 <div class="l_contents"> 44 <ul class="works_list_items"> 45 <li class="works_list_item" data-category="deep01"> 46 <div class="swiper-slide works_list_img-wrapper"> 47 <img 48 src="img/works-01.jpg" 49 width="6" 50 height="4" 51 alt="製品の写真" 52 class="works_list_img" 53 loading="lazy"> 54 </div> 55 <div class="works_desc_wrapper"> 56 <div class="works_desc"> 57 <p class="works_desc_text">車載用バッテリーケース</p> 58 </div> 59 <!-- <div class="works_desc"> 60 <p class="works_desc_text">業界</p> 61 <p class="works_desc_text">テキスト</p> 62 </div> 63 <div class="works_desc"> 64 <p class="works_desc_text">被加工素材</p> 65 <p class="works_desc_text">テキスト</p> 66 </div> 67 <div class="works_desc"> 68 <p class="worcs_desc_text">解説</p> 69 <p class="worcs_desc_text">テキスト</p> 70 </div> --> 71 </div> 72 </li> 73 </ul> 74 </div> 75 </div> 76 </section>
