【问题标题】:Codeigniter cart remove a single element using jQueryCodeigniter 购物车使用 jQuery 删除单个元素
【发布时间】:2015-11-08 10:52:59
【问题描述】:

我一直在尝试使用 jQuery 从我的购物车中删除一个元素,因此它不会加载页面,但我无法检测到我遗漏了什么。它删除了元素,但看起来 jQuery 有问题,所以它加载了页面。 这是代码快照-

查看-

        <td class="remove">
            <?php echo anchor('home/remove_cart/'.$item['rowid'],'X',$item['rowid']); ?>
        </td>

控制器-

    public function remove_cart($rowid) {
        $this->cart->update(array(
            'rowid'=>$rowid,
            'qty' => 0
    ));

    redirect(base_url().'home/purchase_order');  
}

js-

    $("td.remove").live("click", function() {
        var rem = $('a.removecart').data();
        alert(rem+"f");
        $.get(link + "home/remove_cart", {rowid : rem} ,function(data) {
            $.get(link + "home/show_cart", function(home) {
            $("#cart_content").html(home);
        });
    });

    return false;
});

谢谢。

【问题讨论】:

  • 您能再解释一下吗?此外,您使用的是长期弃用的 jQuery 版本。使用 live() 和 bind() 替换为 on() api.jquery.com/on
  • 其实我都试过了,但结果都是一样的很好,所以最后一部分是,从购物车中删除单个元素。所以所有正在发生的事情是它删除了项目,但它也加载了页面,所以 jQuery 在这里有些错误,但找不到:/
  • 哪里出错了?我所能看到的是,当您在请求服务器删除购物车项目后收到来自服务器的响应时,无论响应如何,您都会执行另一个请求以获取购物车的完整 html 代码。它在哪里失败?顺便说一句,您可以通过一个 ajax 请求完成所有操作。
  • 失败意味着,我的目标进程没有被完成,使用jQuery我的目标是加载购物车而不刷新页面,但在这里它总是在发出请求时加载页面

标签: javascript php jquery codeigniter cart


【解决方案1】:

您正在将点击事件分配给链接的父级。所以你必须首先取消点击链接时的默认行为。然后点击事件自然会冒泡到它的父级:td.remove。链接不会被跟踪,td 的点击处理程序会被执行。

    $("td.remove a").live("click", function(e) {
        e.preventDefault();
    });
    $("td.remove").live("click", function() {
        var rem = $('a.removecart').data();
        alert(rem+"f");
        $.get(link + "home/remove_cart", {rowid : rem} ,function(data) {
            $.get(link + "home/show_cart", function(home) {
            $("#cart_content").html(home);
        });
    });

如果这不起作用,请提供更多信息,因为最后有一个 return false 我不知道它来自哪里。

【讨论】:

    猜你喜欢
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多