sterge elemente adaugate cu insertAdjacentHTML
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
andras
- Mesaje:430
sterge elemente adaugate cu insertAdjacentHTML
Salut,
Folosesc functia insertAdjacentHTML pe care o apelez repetat in acelasi form , in acest fel cu un singur click adaug 7 elemente (pe aceeasi linie) cu name array. La al doilea click se mai adauga 7 elemente pe linia urmatoare s.a.m.d. (exemplu simplificat):
Cod: Selectaţi tot
<script>
var add_elmlocatie =' Locatie'+ fld_nr +' <select required="required" name="df_locatie[]" style="max-width: 120px;">'; //begin <select>
add_elmlocatie +='<option ></option>';
for(var i=0; i< locatie.length; i++){ // bucla de adaugare optiuni
add_elmlocatie +='<option value="'+ locatie[i][0] +'">'+ locatie[i][1] +'</option>';
}
add_elmlocatie +='</select>'; //end the <select>
add_elmlocatie += '<img src="/cms/img/cancel_18.png" name="delete[]" />'; // buton de stergere elemente cu acelasi indice
elm.insertAdjacentHTML('afterend', add_elmlocatie); //add the element
</script>
Cum fac ca la actionarea butonului cu name="delete[]" sa sterg elementul corespunzator, adica <select name="df_locatie[]">? Adica sa fie opusul lui insertAdjacentHTML, dar sa sterg numai elementele cu acelasi indice (de pe aceeasi linie). Multumesc.
MarPlo
Mesaje:4343
Salut
Poti sa pui elementul pe care vrei sa-l stergi impreuna cu butonul de stergere intr-un Div, iar la clic pe acel buton sa se stearga Div-ul (elementul parinte) cu tot ce e in el.
Cam asa:
Cod: Selectaţi tot
<script>
var add_elmlocatie ='<div> Locatie'+ fld_nr +' <select required="required" name="df_locatie[]" style="max-width: 120px;">'; //begin <div><select>
add_elmlocatie +='<option ></option>';
for(var i=0; i< locatie.length; i++){ // bucla de adaugare optiuni
add_elmlocatie +='<option value="'+ locatie[i][0] +'">'+ locatie[i][1] +'</option>';
}
add_elmlocatie +='</select>'; //end the <select>
add_elmlocatie += '<img src="/cms/img/cancel_18.png" name="delete[]" onclick="delElmP(this)" /></div>'; // buton de stergere elemente cu acelasi indice si inchide </div>
elm.insertAdjacentHTML('afterend', add_elmlocatie); //add the element
//delete parent element of $elm
function delElmP(elm){ elm.parentNode.outerHTML ='';}
</script>
andras
Mesaje:430
Excelenta ideea cu <div>, functioneaza corect.