0

我有一个购物车,其中包含购物车数组中的物品列表。当一个被删除时,它会通过 ajax 更新购物车,但是对于每个购物车项目,数组中的项目编号不会更新,除非页面被刷新。

<input class="remove_cart_id" type="hidden" value="'.$i.'" />

$i 表示数组中的数字。如果删除了一个项目,这可能会影响数组的顺序,所以我想为每个类更新 $i 。

不必输出整个购物车内容,有没有一种简单的方法来更新每个类的元素。它可以很容易地完成,$i = 0,并且购物车数组中的每个项目都是 i++。

更新:

$('.remove_cart_item').click(function(){
$(this).parent().stop(true, true).fadeOut();
var pid = $('.remove_cart_id', this).val();
$.ajax({        
    type    : 'POST',
    url     : 'ajax/remove-cart.php',
    data    : 'pid='+pid,
    success : function(data) {
        $('#cart_quantity').html(data);
    }
});
// update cart array
var i = 0; 
$('.remove_cart_id').each(function(){ 
    $(this).val(i); 
    i++; 
};

});

我现在正在使用这段代码,但是每个函数似乎都存在某种错误,因为代码停止工作。

4

2 回答 2

0

要根据类更改值,请尝试

$(".classname").each(function() {
   $(this).val('change');
});

类通常适用于组合在一起的多个元素。如果您在同一类中有另一个元素,则值更改也将应用于它。

于 2013-05-14T00:37:46.043 回答
0

假设您需要重新索引值

function reindexCart(){
  var count = 0;
  $('.remove_cart_id').each(){
    $(this).val(count);
    count++;
  }
}

或者,您是否需要减少价值?

于 2013-05-14T00:49:43.243 回答