Codeigniter 购物车使用 jQuery 删除单个元素

Posted

技术标签:

【中文标题】Codeigniter 购物车使用 jQuery 删除单个元素【英文标题】:Codeigniter cart remove a single element using 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我的目标是加载购物车而不刷新页面,但在这里它总是在发出请求时加载页面 【参考方案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 我不知道它来自哪里。

【讨论】:

以上是关于Codeigniter 购物车使用 jQuery 删除单个元素的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter Say更新多个购物车项目时,isset或空的非法偏移类型

CodeIgniter 在 JSON 响应中返回 HTML

使用 codeigniter 和 jquery 进行 AJAX 分页

如何在 Codeigniter 中使用 JQuery 修复未定义的 url

Codeigniter:如何使用 jQuery 添加带有多选和删除复选框的列

如何使用 Codeigniter 和 Jquery 验证多维数组