0

私はjQueryを初めて使用します。ショッピング カートを作成していて、カートから商品を削除しようとしています。カートに商品を入れてから削除すると消えますが、カートに別の商品を追加すると、削除した商品が再び表示されます。複数のオブジェクトを含むカードがある場合、それを削除しようとすると、合計のみが変更されます。

$('.addToCart').click(function(){
    var id = this.id;
    var price = parseFloat($('#priceAdd-'+id).val()).toFixed(2);;
    var name = $('#name-'+id).val();
    var total =(parseFloat($('#total').text())+parseFloat(price)).toFixed(2);
    cartSize++;

    $('#product-'+id).fadeOut('fast');
    $('#added-'+id).delay(500).fadeIn('fast');

    $.ajax({
        type: "POST",
        url: 'resources/addToCart.php',
        data: { itemId: id , name: name, price: price},
        cache: false,
        success: function(html){
            $("ol").append(html).slideDown("slow");
            $('#noItems').fadeOut('fast');
            $('#total').html(total);
            $('#mainCart').fadeIn('fast');
        }
    });
});

$('ol').on("click",'.del',function(e){
    var id= e.target.id;
    var productId = $('#productId-'+id).text();
    var productPrice = $('#price-'+id).text();
    var total = $('#total').text();
    var newPrice = (parseFloat(total) - parseFloat(productPrice)).toFixed(2);
    var dataString = 'id='+ id;
    cartSize--;

    alert(id);

    $('#total').html(newPrice);     
    $("#cart-"+id).remove();

    $.ajax({
        type: "POST",
        url: "resources/del.php",
        data: { id: id },
        cache: false,
        success: function(html){
            $('#added-'+productId).fadeOut('Fast');
            $('#product-'+productId).delay(600).fadeIn('Fast');

            if(cartSize == 0){
                $('#noItems').fadeIn('Fast');
                $('#mainCart').fadeOut('Fast');     
            }
        }
    });
    return false;   
});

任意の入力をいただければ幸いです

ありがとうございました

編集:私を助けることができる人は他にいますか?

4

1 に答える 1

0

「resources/del.php」を呼び出している場合、これはサーバー内のアイテムを削除するのではなく(視覚的にのみ)、「resources / addToCart.php」を使用して別のアイテムを追加すると、すべてのアイテムが返されます(あなたが削除すると思うもの)

于 2013-03-11T22:49:47.027 に答える