我有一个简单的购物车页面,显示某人购物车中的商品,并在我的桌子上通过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;
});
问题是,我如何为每个值设置它,因为如果我使用上面的内容,我会点击一个,它们都将继续。我很困惑如何将其设置为使用多行。
答案 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;
});