有时重新加载页面,有时会从购物车中删除

时间:2013-07-17 13:15:48

标签: jquery

我正在开发各种购物车。已经完成所有设置,可以将项目添加到购物车(可以处理多个项目)。我正在使用此代码来处理从购物车中删除项目:

$('.delete-button').click(function(ev) {
            ev.stopPropagation();
            ev.preventDefault();
            idValue = $(this).parent().siblings(".name").attr('id');
            $.post("includes/delete-cart.php",{id:idValue},
            function(data){
                // Do something with returned data.
            }, "json");
            $("#wrap-change-cart").load('includes/cart-sidebar.php',function(){
                $('#loading').hide();
            }); // Load change in cart.
        });

delete-cart.php文件从数据库中删除该项(简单的mySQL查询)。问题是,当按下删除按钮(标签)时,有时它会删除,但有时会刷新页面(因为它是链接到自身的标签),认为这应该在前2行代码中停止。建议?

P.S。对坏名称道歉

2 个答案:

答案 0 :(得分:0)

如果您将按钮设置为输入标记,请执行以下操作:

<input type="submit" name="delete" value="delete" />

您可以添加onclick而不是jQuery click事件处理程序:

<input type="submit" onclick="return deleteCart()" name="delete" value="delete" />

只要确保deleteCart()函数返回true,页面就不应该重新加载。

希望这有帮助!

答案 1 :(得分:0)

我从一些进一步的研究中发现,由于元素是实时生成的(通过jQuery等),因此没有添加点击事件,因此我已切换到使用.on(),这涉及到此代码:

$('#wrap-change-cart').on('click', 'a.delete-button', function (ev) {

现在意味着没有页面刷新,但有时它仍然无法通过。比以前更好