前提・実現したいこと
Laravelにてforeach文を利用して動的なformの編集ページを作成しています。
実装したい内容は、
0. 既存の複数レコードをforeach文で表示
0. inputの内容を書き換えることができる
0. 特定のレコードを消したい場合は削除ボタンをクリックでそのレコードのみ削除できる
3の機能が実装できずに困っています。
例えば、
foreach文で4回繰り返されたとする。
→2回目の繰り返しの要素内のボタンをクリック。
→2回目の繰り返しの要素を全て削除
のようなイメージです。
現在のコードを下記の通りです。
該当のソースコード
php
1 @foreach ($page_details as $page_detail) 2 <div id="{{ $page_detail->id }}"> 3 <div> 4 <div> 5 <label for="chord">コード</label> 6 <!--↓このボタンをクリックしたら、この繰り返しの全要素を削除 --> 7 <button type="button" onclick="existRemoveInput()" id="deleteId" data-name="{{ $page_detail->id }}">削除</button> 8 </div> 9 <input type="text" name="chord[]" value="{{ $page_detail->chord }}"> 10 </div> 11 <div> 12 <div> 13 <label for="lyric">歌詞</label> 14 </div> 15 <input type="text" name="lyric[]" value="{{ $page_detail->lyric }}"> 16 </div> 17 </div> 18 @endforeach 19
js
1 function existRemoveInput(){ 2 const name = $('#deleteId').data(); 3 document.getElementById(name).remove(); 4 } 5
試したこと
やろうとしていることは、
0. ボタンクリックでexistRemoveInput()を実行
0. id="deleteId"のdataを取得
0. 2のdataと削除したい全要素であるdivのidに同じ数値が入るよう設定( {{ $page_detail->id }}←この部分 )
0. divのidを指定してremove()で削除
このような考え方で実装しようとしていますが、うまく作動しません。
まずこの方法で解決しますでしょうか?
この方法が厳しければ他に良い方法を教えていただければ幸いです。
よろしくお願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/02 11:07
2021/07/02 21:19