无法删除多个购物车项目


Unable to delete more than one cart items

我开发了一个购物网站,在那里我使用ajax处理添加到购物车和从购物车中删除。添加到购物车工作正常,但从购物车中删除会产生一个奇怪的问题。我只能从中删除一条记录,如果我想删除更多,我需要手动刷新页面,然后我只能再删除一条。这太奇怪了,我找不到错误在哪里。

这是代码:

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循环中,每个时间名称属性由数据库cart表的唯一ID组成。

这是delcart.hp:

<?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}'");
?>

有人能告诉我我错过了什么,或者bug在哪里吗?这将是一个巨大的帮助。提前谢谢。

不确定我是否有适合你的解决方案,但我想值得一试。我的猜测是,带有类remove的按钮位于div中id为container的某个位置,对吗?

如果是这样,那么当您调用替换#containerdiv.内容的.load函数时,就会"丢失".click处理程序

解决办法是把点击监听器改成之类的东西

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

或者至少试着在.click操作中放入console.log(),看看它是否触发