テーブルにチェックボックスを付けて、チェックがある行だけ行削除したいです。
複数のテーブルから同じファンクションを呼び出して削除処理をしたいと思っています。
javascript側でclassやNameを指定せずに、HTMLから引数でobjを渡して削除処理は可能でしょうか。
よろしくお願いいたします。
HTML
1 2 <input type="button" value="一括削除" id="quoteDelTable" onclick="deleteSelectRow()"> 3 <table border="0" id="mainTable" class="table" > 4 <thead> 5 <tr> 6 <th></th> 7 <th>番号</th> 8 <th>品名</th> 9 10 </tr> 11 </thead> 12 <tbody> 13 <tr> 14 <td><input type="checkbox" name="DeleteName[]" value="YES"></td> 15 <td style="text-align:center; width:30px;">1</td> 16 <td class="editEnable">テスト1</td> 17 </tr> 18 <tr> 19 <td><input type="checkbox" name="DeleteName[]" value="YES"></td> 20 <td style="text-align:center; width:30px;">2</td> 21 <td class="editEnable">テスト2</td> 22 </tr> 23 <tr> 24 <td><input type="checkbox" name="DeleteName[]" value="YES"></td> 25 <td style="text-align:center; width:30px;">3</td> 26 <td class="editEnable">テスト3</td> 27 </tr> 28 </tbody> 29 </table> 30 31 <table border="0" id="subTable" class="table" > 32 <thead> 33 <tr> 34 <th></th> 35 <th>番号</th> 36 <th>品名</th> 37 38 </tr> 39 </thead> 40 <tbody> 41 <tr> 42 <td><input type="checkbox" name="DeleteName[]" value="YES"></td> 43 <td style="text-align:center; width:30px;">1</td> 44 <td class="editEnable">テスト1</td> 45 </tr> 46 <tr> 47 <td><input type="checkbox" name="DeleteName[]" value="YES"></td> 48 <td style="text-align:center; width:30px;">2</td> 49 <td class="editEnable">テスト2</td> 50 </tr> 51 <tr> 52 <td><input type="checkbox" name="DeleteName[]" value="YES"></td> 53 <td style="text-align:center; width:30px;">3</td> 54 <td class="editEnable">テスト3</td> 55 </tr> 56 </tbody> 57 </table>
JavaScript
1function deleteSelectRow(){ 2 3 const checkedList = document.querySelectorAll(".table [name='DeleteName[]']:checked"); 4 5 if (checkedList.length === 0) { 6 alert("選択してください"); 7 return; 8 } 9 10 // 確認 11 if (!confirm("選択した行を削除しますか?")) 12 return; 13 checkedList.forEach(check => check.closest("tr").remove()); 14}
回答1件
あなたの回答
tips
プレビュー