Я перебираю элементы из базы данных через PHP, пытаясь вызвать внешнюю форму для редактирования каждого элемента при нажатии. Я написал Javascript, основанный на платформе Prototype, которая в основном меня привлекает. Однако при попытке выбрать родительский элемент щелкнутого элемента после первого успешного редактирования последующие изменения завершаются сбоем, а содержимое первого отредактированного элемента заменяется последним нажатым.Как выбрать определенный динамически созданный элемент с Prototype/JS?
В других случаях, у меня есть список, как это:
B C
После нажатия кнопки "A" и изменить его на "1" через мою внешнюю форму, затем выбрав "B" и изменить его на "2" результаты в следующем:
C
с мелки nts второго элемента (B или 2), заменяющего содержимое первого элемента (a или 1.)
Обратите внимание, что это не проблема с моей внешней формой PHP (обновление страницы отображает все мои обновленные значения.) Моя проблема заключается в том, что javascript выбирает правильный родительский элемент, в котором отображаются результаты моего сообщения.
(как интересное примечание стороны, когда я нажимаю через и изменить свои элементы, начиная с нижней части списка, ни один из элементов не будут перезаписаны и функции страницы, как это должно быть.)
function inlineEditor() {
$$('div.form span.status').each(function(elm){
elm.observe('click',function(evt){
Event.stop(evt);
var block = this.up('div.form');
var item = block.id;
new Ajax.Updater(block,'status_types_edit.php',{
parameters:{id:item},
evalScripts:true
});
});
});
}
<body onload="inlineEditor();">
<?php do { ?>
<div class="form" id="<?php echo $row_GetStatus_Types['id']; ?>">
<span class="status"><?php echo $row_GetStatus_Types['status_name']; ?></span>
</div>
<?php } while ($row_GetStatus_Types = mysql_fetch_assoc($GetStatus_Types)); ?>