0

カート配列内のアイテムのリストを含むショッピング カートがあります。1 つが削除されると、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 に答える