2008-12-17 58 views
2

我有一个简单的购物车页面,显示在某人购物车中的物品,并从我的表中通过ASP显示。我有一个用户可以删除条目的列。我有ASP正常工作,现在我试图添加一些AJAX。我有以下代码:AJAX删除 - 使用jQuery

$("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; 
}); 

的事情是,我wouild如何去设置它为每个值,因为如果我使用上面,我点击一个,他们会都去。我很困惑如何设置它以处理多行。

回答

4

您只需要选择要删除的项目的行。我不知道你怎么有它设置,但如果图像元素是行内,你可以使用:

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

     ... 

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

     ... 
    }); 
+0

该代码运行良好!谢谢。是tr:首先说当你点击img时,拿着桌子的父tr? – Coughlin 2008-12-17 18:32:53

0

如果它是你想要的,那么这将工作HTML的id属性。你为什么不尝试它?编辑:它可能只是row.attr('id');它可能只是row.attr('id');它可能只是row.attr('id');它已经从我的脑海里滑落,没有带使用jQuery的某个时候:)

0

最简单的事情是一个$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; 
});