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 ='&nbsp; 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>&nbsp; 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.