AJAX удалить - используя jQuery - PullRequest
2 голосов
/ 17 декабря 2008

У меня есть простая страница корзины, которая отображает элементы, находящиеся в чьей-то корзине, и позволяет отображать ее через 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;
});

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

Ответы [ 3 ]

5 голосов
/ 17 декабря 2008

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

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

      ...

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

      ...
  });
0 голосов
/ 15 февраля 2010

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

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

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

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

<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;
});
0 голосов
/ 17 декабря 2008

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

РЕДАКТИРОВАТЬ: Это может быть просто row.attr ('id'); Это выскользнуло у меня из головы, я не использовал некоторое время jQuery:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...