Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Массивы. Динамическое удаление элементов (https://javascript.ru/forum/dom-window/24570-massivy-dinamicheskoe-udalenie-ehlementov.html)

userbanderas 06.01.2012 14:28

Массивы. Динамическое удаление элементов
 
Здравствуйте!
Требуется помощь специалиста.
Имеется скрипт динамического удаления input - ов на странице. Но работает он не правильно. Нужно чтобы удалял он именно тот input, напротив которого был сделан клик, а на данный момент input удаляется начиная с самого верху.
Уважаемые специалисты, направьте в нужное русло.

$pizza = '- Интернет<br>
										  			  - Номера для не курящих<br>
													  - Ресторан<br>
													  - Детская площадка<br>
													  - Конференц зал<br>
													  - Парковка<br>
													  - Бассейн<br>
													  - Кафе<br>
													  - Кондиционер<br>
													  - Сейф<br>- Баня<br>
													- adfgvwd';


$word = preg_replace("/\s+/", " ", $pizza);	
$array = explode("<br>", $word);

foreach ($array as $piec) // пробегаемся циклом по массиву элементов
{
echo '<tr id="tr_image_">
	  <td id="td_title_[]">
<input type="text" id="input_title_[]" name="input_title_[]" value="'.$piec.'" />

</td>
<td><span id="progress_[]" class="padding5px"><a style="cursor:pointer;" onclick="$(\'#tr_image_\').remove();" class="ico_delete"><img src="../../../blocks/image_settings/delete.png" alt="Удалить" border="0"></a></span> </td>
</tr>';
}

nerv_ 06.01.2012 15:26

Можно, например, так
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
		<div id="box">
			<span><input type="checkbox">Internet Explorer</span></br>
			<span><input type="checkbox">Opera</span></br>
			<span><input type="checkbox">Firefox</span></br>
		</div>
		<script type="text/javascript">
			(function() {
				document.getElementById("box").onclick = function(e) {
					var x = e ? e.target : event.srcElement;
					x.parentNode.removeChild(x);
				}
			})();
		</script>
    </body>
</html>

userbanderas 06.01.2012 23:29

Вопрос решился! Вам спасибо за подсказку!!!
$word = preg_replace("/\s+/", " ", $pizza);	
$array = explode("<br>", $word);

foreach ($array as $key => $value) // пробегаемся циклом по массиву элементов

{
echo '<tr id="tr_image_'.$key.'">
	  <td id="td_title_[]">
<input type="text" id="input_title_[]" name="input_title_[]" value="'.$value.'" />

</td>
<td><span id="progress_" class="padding5px"><a style="cursor:pointer;" onclick="$(\'#tr_image_'.$key.'\').remove();" class="ico_delete"><img src="../../../blocks/image_settings/delete.png" alt="Удалить" border="0"></a></span> </td>
</tr>';
}


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