チェックボックスにチェックを入れたときに、該当の行にのみテキストボックスを出現させる処理がうまくいかず詰まっています。
ループ処理の部分に原因があるのではと考えています。
現在のコードですと、テキストボックスを押したときに全てのテキストボックスが出現してしまいます。
他のサイトで調べてみましたが、なかなかうまく出来ず...
こちらに関しまして、ご教示いただけますと幸いです。
イメージ画像は下記のような形になります。
※for文のところは、DBから取得した値を本来は表示する想定です。
php
1<table id="test" class="table table-bordered table-striped table-sm"> 2 <thead> 3 <tr> 4 <th> </th> 5 <th> ユーザーid </th> 6 <th> ユーザー名 </th> 7 <th> メールアドレス </th> 8 <th> メモ </th> 9 </tr> 10 </thead> 11 <tbody> 12 @for ($i = 1; $i < 5; $i++) 13 <tr> 14 {{-- 本来はusersテーブルから引っ張ってきた値を表示 --}} 15 <td><input type="checkbox" name="is_check[]" value="{{$i}}"></td> 16 <td>ユーザーid : {{$i}}</td> 17 <td>ユーザー名</td> 18 <td>test@aaa.jp</td> 19 <td class="memo"> 20 {{-- <input type="text" name="user_memo[]"> --}} 21 </td> 22 </tr> 23 @endfor 24 </tbody> 25</table>
javascript
1$(function () { 2 // チェックボックスをチェックしたら発動 3 $('[name="is_check[]"]').change(function () { 4 // ②チェックが入ったらループ処理 5 $('input[name="is_check[]"]:checked').each(function () { 6 for (let i = 0; i < $(this).val(); i++) { 7 $(".memo").html(`<input type='text' name='user_memo[]'>`); 8 } 9 }); 10 }); 11});
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/22 00:50