无法删除多个购物车商品

时间:2015-11-29 21:42:37

标签: php jquery ajax

我开发了一个购物网站,我正在使用ajax处理添加到购物车并从购物车中删除。添加到购物车工作正常,但从购物车删除是一个奇怪的问题。我只能从中删除一条记录,如果我想删除更多,我需要手动刷新页面,然后我将只能删除一个。这太奇怪了,我无法找到bug的位置。

这是代码:

jQuery('.remove').click(function(data) {

    var pi = jQuery(this).attr('name');
        var y = jQuery(this).attr('name');

    $.ajax({
                url: "delcart.php?pid="+pi+"&data="+y,
                type: 'GET',
                success: function(s){
                    var $container = $("#content");
      //  $container.refresh("index.php");
$("#content").load(location.href + " #content");
$("#success2").show().fadeOut(6000);
                },
                error: function(e){
                    alert('Error Processing your Request!!');
                }
            });

});

HTML按钮。

<button name="<?php echo $ca['ID'];?>" class="remove close_product color_dark tr_hover">x</button>

此按钮进入while循环,每个时间名称属性包含数据库购物车表的唯一ID。

这是delcart.php:

<?php
include_once "config.php";
$id = $_GET['pid'];
$ip = $_SERVER['REMOTE_ADDR'];

$de = mysqli_query($con,"DELETE from cart where ID='{$id}' and ip='{$ip}'");
?>

任何人都可以想象我错过了什么或错误在哪里。这将是一个巨大的帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

不确定我是否有适合您的解决方案,但我想这值得一试。 我的猜测是你的带删除类的按钮位于div的某个地方,id为容器,对吗?

如果是这样,那么当你调用替换#container div内容的.load函数时,你会“丢失”.click处理程序。

解决方案将(可能)将.click侦听器更改为......

$('#some-div-container-that-stays').on("click", ".remove", function(data) {

或者至少尝试将console.log()放入.click动作以查看是否触发