在onclick事件上动态更改Button功能

时间:2016-01-29 09:27:36

标签: javascript jquery onclick

我希望有一个按钮可以执行2个功能而无需刷新或访问其他页面。 1.首先点击添加到购物车按钮,它会将产品添加到购物车中,一旦产品添加到购物车,按钮应该2.更改为从购物车中删除当点击从购物车中删除按钮时,它应该从购物车中删除该商品,然后再次将按钮再次更改回添加到购物车

现在我正在使用非常简单的onclick事件按钮

<button class="btn btn-sm btn-inverse btn-embossed" onclick="ajaxSubmit('/add/product/<?php echo $productId; ?>/"><span><?php echo $this->__('Add to Cart') ?></span></button>

可以使用以下网址删除产品

/remove/product/<?php echo $productId ?>/

我已经尝试过其他论坛的几个选项,但我无法实现。

1 个答案:

答案 0 :(得分:1)

我建议你从onclick事件中移动你的ajax调用,这样你就不需要复制长代码了。第二个为jQuery访问添加诸如当前操作和id的参数到data

&#13;
&#13;
$('.product-btn').click(function(){
	if($(this).attr('data-action')=="add"){
  	  ajaxSubmit('/add/product/'+$(this).attr('data-id')+'/');
          $(this).attr('data-action','remove');
          $(this).children('span').html('Remove from cart');
  }else{
  	ajaxSubmit('/remove/product/'+$(this).attr('data-id')+'/');
        $(this).attr('data-action','add');
        $(this).children('span').html('Add to cart');
  }
});
&#13;
<button class="btn btn-sm btn-inverse btn-embossed product-btn" data-action="add" data-id="<?php echo $productId; ?>"><span><?php echo $this->__('Add to Cart') ?></span></button>
&#13;
&#13;
&#13;