我一直在尝试使用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;
});
感谢。
答案 0 :(得分:0)
您正在为链接的父级分配点击事件。因此,当您单击链接时,首先必须取消链接的默认行为。然后click事件自然会冒泡到其父级: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);
});
});
如果这不起作用,请提供更多信息,因为最后有一个返回假,我不知道它来自哪里。