при нажатии на ADD появляются новые строчки и напротив каждой ссылка DEL как сделать так, чтобы по нажатию на DEL удалялась именно та строчка напротив которой нажат DEL ?
как для s = "<div id=2><input type=text name=alternative[] value= size=150 ><a href=javascript:// OnClick=del(2) return false>DEL</a></div>"; сделать, чтобы при каждом добавлении айди дива был уникален?
[js] var counter = 0 ; function add(id) { counter ++ ; s = "<div id='" + counter + "'><input type=text name=alternative[] value= size=150 ><a href=javascript:// OnClick=del(" + counter + ") return false>DEL</a></div>"; document.getElementById(id).innerHTML =s + document.getElementById(id).innerHTML; } [/js]
HTML: <script type="text/javascript"> i=1; function del(id) { document.getElementById(id).innerHTML=""; } function add(id) { i++; s = '<div id="'+i+'"><input type="text" name="alternative[]" value="" size="150" id="'+i+'" /><a href="javascript:del('+i+');return false;">DEL</a></div>'; document.getElementById(id).innerHTML =s + document.getElementById(id).innerHTML; } </script> <div id="1"> </div> <a href="javascript:add(1);return false;">ADD</a> вот мой быдлокод (javascript практически не знаю) все создается, но удаляется только внутренность div'а, что не красиво
вот счас сделал так Код (Text): <form action=test.php method=post> <script type="text/javascript"> i=0; function add(id) { i++; s = "<div id="+i+"><input type=text name=alternative[] value='' size=150 ><a href=javascript:// onclick=this.parentNode.parentNode.removeChild(this.parentNode) return false>DEL</a></div>"; document.getElementById(id).innerHTML = s + document.getElementById(id).innerHTML; } </script> <div id=0> <br><a href=javascript:// OnClick=add(0) return false>ADD</a> <br><input type=submit value=go> </div> </form> и такая проблема если добавить одно поле и ввести в него что-то, а потом добавить еще одно, то первое поле очиститься, а нужно, чтобы не очищалось.
в onclick = (this, i) i - это номер this - указывает на нажатый элемент, у него есть свойство парент, обраш,аешься к нему и удаляешь его.