前提
フォームの追加・削除の機能を実装しています。
- 追加ボタンをクリックすると、フォームが生成される
- 削除ボタンをクリックすると、一番最後のフォームが削除される
実装したいこと
削除ボタンの機能をうまく記述することができません。
アドバイスいただけないでしょうか。
よろしくお願いいたします。
html
1 <div id="form-field" class="form-field"> 2 3 <div class="selectbox" id="selectbox_0"> 4 <select name="assettable[list_id]" > 5 <option value="0">選択してください</option> 6 <option value="1">現金</option> 7 </select> 8 </div> 9 10 <input id="input-balance_0" class="form-control" placeholder="例) 1000" type="text" name="assettable[balance]"> 11 12 13 </div> 14 15 <button id="delete-btn">削除</button> 16 <input type="button" value="追加" id="add-btn">
javascript
1var i = 1 ; 2var minCount = 0; 3var maxCount = 5; 4 5function addForm() { 6 //追加ボタンクリック時にイベント発火 7 const add = document.getElementById("add-btn"); 8 add.addEventListener("click", () => { 9 //フォーム生成 10 const select = document.getElementById("selectbox_0"); 11 const select_copy = select.cloneNode(true); 12 select_copy.id = 'selectbox_' + i; 13 const input = document.getElementById("input-balance_0"); 14 const input_copy = input.cloneNode(true); 15 input_copy.id = 'input-balance_' + i; 16 input_copy.value = '' 17 18 //const delete_btn = document.getElementById("delete-btn_0"); 19 //const delete_btn_copy = delete_btn.cloneNode(true); 20 //delete_btn_copy.id = 'delete-btn_' + i; 21 22 //フォーム追加 23 if (i < maxCount) { 24 const parent = document.getElementById('form-field'); 25 parent.appendChild(select_copy); 26 parent.appendChild(input_copy); 27 //parent.appendChild(delete_btn_copy); 28 } 29 30 i++ ; 31 }); 32 }; 33 34//削除ボタンの実装の仕方がわからない 35window.addEventListener('load', addForm); 36 37function deleteForm() { 38 const d = document.getElementById("delete-btn"); 39 d.addEventListener("click", () => { 40 const d_selectbox = document.getElementsByClassName("selectbox") 41 const child = d_selectbox.lastElementChild; 42 d_selectbox.removeChild(child); 43 }); 44 };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。