Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проблема с удалением (https://javascript.ru/forum/misc/43252-problema-s-udaleniem.html)

Yuras 28.11.2013 16:30

проблема с удалением
 
есть код(приведен ниже). Моя задача(чтоб при нажатии на крестик записи - удалялась сама запись, а на данный момент при нажатии на Любой крестик удаляется только последняя запись ).
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
</style>
</head>
<body>
<h2>Список товаров</h2>
<input type="text" id="input"/><br>
<input type="button" value="Add" onclick="doAdd()" id="add"/><br>



<script type="text/javascript">
var div;
var textInput = '<input type="checkbox"/>';
var b = document.body;
var krest = '<img src="cross.png" alt="крестик" onclick="doDel()">'

function doAdd(){

div = document.createElement('p');
div.innerHTML = textInput + input.value + krest;
b.appendChild(div);

}

function doDel(){
b.removeChild(div);
}
</script>
</body>
</html>

ksa 28.11.2013 16:33

Цитата:

Сообщение от Yuras
onclick="doDel()"

Передавай в обработчик ссылку на элемент

onclick="doDel(this)"

Далее в обработчике от этого и "пляши"...

Yuras 28.11.2013 18:25

<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
</style>
</head>
<body>
<h2>Список товаров</h2>
<input type="text" id="input"/><br>
<input type="button" value="Add" onclick="doAdd()" id="add"/><br>
<ul>


<script type="text/javascript">
var div;
var counter = 0;

var textInput = '<input type="checkbox"/>';
var body = document.body;
var krest = '<img src="cross.png" alt="крестик" onclick="doDel(id)">';

function doAdd(){document.getElementById('myid0').onclick = function (){
document.getElementById('myid0' ).remove();
}
document.getElementById('myid1').onclick = function (){
document.getElementById('myid1' ).remove();
}
// и так далее. сколько элементов задам столько и удалит, а как можно автоматизировать, улучшить код?
}
</script>
</ul>
</body>
</html>

Yuras 28.11.2013 18:35

*var krest = '<img src="cross.png" alt="крестик" onclick="doDel()">';
без id


Часовой пояс GMT +3, время: 18:58.