Удаление AJAX - использование jQuery

У меня есть простая страница корзины, на которой отображаются элементы, которые находятся в чьей-то корзине, и которая отображается через ASP, находясь за моей таблицей. У меня есть столбец, в котором пользователь может удалить запись. У меня ASP работает правильно, теперь я пытаюсь добавить к нему AJAX. У меня такой код:

$("img.delete").click(function() {
var id     = $('#id').attr('value');        
    $.ajax({
        type: "POST",
        url: "delete.php",
        data: "id = "+ id,
        success: function(){
            $('tr.selector').remove();
            $('div.success').fadeIn();
        }
    });
return false;
});

Дело в том, как я буду настраивать его для каждого значения, потому что, если я использую указанное выше, я нажимаю одно, и все они уйдут. Я не понимаю, как настроить его для работы с многочисленными строками.

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
2
0
31 205
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вам нужно выбрать только строку элемента для удаления. Я не уверен, как вы его настроили, но если элемент изображения находится внутри строки, вы можете использовать:

 $("img.delete").click(function() {
      var row = $(this).parents('tr:first');

      ...

      success: function(){
           $(row).remove(); //Remove the row containing the image element
           ...
      }

      ...
  });

Этот код отлично работал! Спасибо. Говорит ли tr: сначала, когда вы нажимаете img, берете родительский tr таблицы?

Coughlin 17.12.2008 21:32

да, возьмите первую команду в цепочке DOM. Я использую: сначала на всякий случай, если он вложен в другую таблицу, а также это условие остановки, поэтому он не будет искать дальше после нахождения первого tr.

Eran Galperin 17.12.2008 22:27

Если вам нужен атрибут html id, то это сработает. Почему бы тебе не попробовать?

Обновлено: это может быть просто row.attr ('id'); Это выскользнуло из моей головы, какое-то время я не использовал jQuery :)

Проще всего присоединить $variable (id) к классу каждого элемента, например

// $("img.delete_<?php echo $id;?>").click(function()

в этом случае он отображается как img.delete_1, img.delete_2 и т. д. для каждого элемента,

затем примените то же самое к классу элемента цикла

<td class = "delete_<?php echo $id;?>"></td>

надеюсь, это имеет смысл

$("img.delete_<?php echo $id;?>").click(function() {
var id     = $('#id').attr('value');            
        $.ajax({
                type: "POST",
                url: "delete.php",
                data: "id = "+ id,
                success: function(){
                        $('tr.selector').remove();
                        $('div.success').fadeIn();
                }
        });
return false;
});

Другие вопросы по теме