В боковой панели у меня есть маленькая ячейка, заполненная ajax. У меня есть 2 функции ajax: один добавляет элементы в список, а второй удаляет их, если пользователь нажимает кнопку удаления. Мой HTML-это простой неупорядоченный список, например, так:
<ul id="listaruta" class="lista">
<li>Item</li>
<li>Item</li>
</ul>
Каждый раз, когда я вызываю любую из двух функций, они заменяют список ul на обновленный (выбор элементов из базы данных после вставки или удаления). Они работают нормально, пока я не хочу удалить сразу после того, как я вставил элемент в список.
Моя функция Ajax для вставки (другая очень похожа):
var valor=$("#alcrearuta").attr('class');
$("#alcrearuta").click(function(){
$.ajax({
type: "GET",
url: "../ajax/ruta.php",
data: "url=" + valor,
dataType: 'html',
success: function(data) {
$("#listaruta").html(data);
}
});
});
Мой файл ruta.php дает мне другой список ul с той же структурой, что и у оригинала, только с обновленными элементами.
Насколько я понимаю, поскольку я обновляю ul с помощью моей функции ajax, другая функция не знает, что список обновлен, она только «запоминает» старый список, поэтому ничего не делает. Если я обновлю страницу, она будет удалена без проблем. Я предполагаю, что это будет решено с помощью live ()? Но я понятия не имею ...
РЕДАКТИРОВАТЬ: Хорошо, теперь я могу заставить свой вызов ajax работать, за исключением того, что когда я удаляю сразу после обновления значение, которое я передаю в файл ruta.php (переменная, которая поможет мне найти поле Мне нужно удалить из базы данных) будет установлено значение 'undefined', что даст мне запрос примерно так: Выберите id из poi, где url = 'undefined'
Опять же, если я перезагрузлю, это будет работать. Я изменил функцию ajax:
$("#alcrearuta").live('click',function(){
$.ajax({
....
});
});