AJAX删除 - 使用jQuery

时间:2008-12-17 17:35:56

标签: jquery ajax

我有一个简单的购物车页面,显示某人购物车中的商品,并在我的桌子上通过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 个答案:

答案 0 :(得分:5)

您只需要选择要删除的项目行。我不确定你是如何设置它的,但是如果图像元素在行内,你可以使用:

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

      ...

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

      ...
  });

答案 1 :(得分:0)

如果它是您想要的html id属性,那么这将起作用。你为什么不试试呢?

编辑:它可能只是row.attr('id');它已经从我的脑海中消失了,有时候不会使用jQuery:)

答案 2 :(得分:0)

简单的做法是将$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;
});