WPでカテゴリ一覧をselectタグでプルダウン表示させていて、
選んだ項目に、まだ投稿がなかった場合、「現在投稿がありません」というメッセージを表示させたいです。
そのために、selectタグで選択されたoptionを、jsにて取得したいですが、optionのvalue属性は渡せるのですが、「投稿数」を入れているoptionの「date-val="〇〇"」を取得できずに困っています。
php
1 <div class="Search_form_cat_list"> 2 <select name="parent" class="parent"> 3 <option value="">選択してください</option> 4 <!--カテゴリの2階層のみを取得--> 5 <?php 6 $categories = get_terms('category',array('get'=>all,'parent'=>34)); 7 foreach($categories as $category) : 8 ?> 9 <option value="<?php echo $category->term_id; ?>" name="areanum[]" data-val="<?php echo $category->count; ?>"><?php echo $category->name; ?></option> 10 <?php endforeach; ?> 11 </select> 12 </div> 13 14 <p class="commingsoon">投稿はまだ登録されていません。</p> 15
js
1 2 let parent = $('.Search_form_cat_list .parent'); 3 let children = $('.Search_form_cat_list.children'); 4 let original = children.html(); 5 let commingsoon = $('.commingsoon'); 6 7 parent.change(function(){ 8 let parentVal = $(this).val(); 9 let parentCount = $(this).data('val'); 10 let count = $(this).find('option').data('val'); 11 12 //ここでdate-val属性をテスト確認としてコンソールに表示させているが、「undefined」と出てくる 13 console.log(count); 14 15 children.html(original).find('label').each(function(){ 16 let childrenVal = $(this).data('val'); 17 18 if(childrenVal == parentVal){ 19 $(this).show(); 20 }else{ 21 } 22 }); 23 24 if (parentCount == 0) { 25 commingsoon.show(); 26 } else { 27 commingsoon.hide(); 28 } 29 30 }); 31
jsのコードにもコメントしましたが、optionタグのdate-val属性を取得できているかconsol.logで確認したところ、コンソールでは「undefined」と出てきて、上手く取得できない状態です。
原因はなんでしょうか?どのように書くと解決できるかご教授いただけると幸いです。
よろしくお願い致しますm_ _m
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。