foreachで存在する数分のカテゴリformを作り,それぞれボタンが押せるようにしています。
そのボタンをクリックしてajaxで一致するサブカテゴリを呼び出したいのですが、
どのボタンを押しても一番目の値しか入りません。
繰り返し処理中、そのボタンを押した時に入っている値が飛ぶ認識でいました。
ご教示お願いします。
html
1<?php 2 foreach((array)$main as $key => $mains){ 3 ?> 4 <form method="post"> 5 <input type="hidden" name="main_type" class="main-type" value="<?php echo $mains->id ?>"> 6 <input type="hidden" name="cate_name" class="cate-name" value="<?php echo $mains->cate_name ?>"> 7 <button type="button" class="mains-btn"><?php echo $mains->cate_name ?></button> 8 </form> 9 10 <?php 11 } 12 ?>
js
1$(".mains-btn").on('click',function(){ 2 3 var mainType = $(".main-type"); 4 var type = mainType.val(); 5 6 var mainName = $(".cate-name"); 7 var name = mainName.val(); 8 9 10 alert(type+"/"+name); 11 12 });
上記だと全部最初の値だけが表示されます。
selectで試すとうまくいきます↓
html
1<select class="mains-btn"> 2 <?php 3 foreach((array)$main as $key => $mains){ 4 ?> 5 <option value="<?php echo $mains->id ?>"><?php echo $mains->cate_name ?></option> 6 7 <?php 8 } 9 ?> 10</select> 11 12<script> 13$(".mains-btn").on('change',function(){ 14 15 var mainType = $(".mains-btn"); 16 var type = mainType.val(); 17 18 alert(type); 19 }); 20</script>
これはどうしてなのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/29 05:43
2017/06/29 05:55
2017/06/29 06:36