我正在做一个WordPress WooCommerce主题,但我遇到了一个问题..我已经制作了可以工作的数量增量按钮,但在单击事件之后,我想触发更新购物车按钮,但该按钮被WooCommerce禁用,并且需要在数量输入字段上发生更改事件。我尝试过.trigger('change')和.change()。两个都不管用,你能帮我吗?
$('.quantity').on('click', '.plus', function(e) {
$input = $(this).prev('input.qty');
var val = parseInt($input.val());
var step = $input.attr('step');
step = 'undefined' !== typeof(step) ? parseInt(step) : 1;
$input.val(val + step).trigger('change');
});
$('.quantity').on('click', '.minus', function(e) {
$input = $(this).next('input.qty');
var val = parseInt($input.val());
var step = $input.attr('step');
step = 'undefined' !== typeof(step) ? parseInt(step) : 1;
if (val > 0) {
$input.val(val - step).trigger('change');
}
});
$('.qty').on('change', function() {
alert('.qty has changed!');
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="quantity">
<input class="minus" type="button" value="-">
<input type="number" step="1" min="0" max="" name="cart[256a54619faec7a3f96b726a46dae520][qty]" value="1" title="Qty" class="input-text qty text" size="4" pattern="[0-9]*" inputmode="numeric">
<input class="plus" type="button" value="+">
</div>
在这段代码中,它可以工作,但在我的本地主机上却不行
发布于 2018-01-03 00:57:55
试试这个:
$('.quantity input').on('click', function(e) {
$input = $(this).parent().find("input.qty");
var step = $input.attr('step');
var val = parseInt($input.val());
step = 'undefined' !== typeof(step) ? parseInt(step) : 1;
if( $(this).val() == "+" ) {
$input.val(val + step);
} else {
$input.val(val - step);
}
$input.trigger("change");
});
$('.qty').on('change', function() {
alert('.qty has changed!');
});发布于 2018-05-04 16:52:33
当数量改变时,这是强制购物车更新的最简单的解决方案,而不需要单击“更新购物车”按钮。请注意,当button为disabled时,它也可以工作
add_action( 'wp_footer', 'wp_cart_refresh_update_qty' );
function wp_cart_refresh_update_qty() {
if (is_cart()) {
?>
<script type="text/javascript">
jQuery('div.woocommerce').on('change', '.quantity input', function(){
jQuery("[name='update_cart']").removeAttr('disabled');
jQuery("[name='update_cart']").trigger("click");
});
</script>
<?php
}
}https://stackoverflow.com/questions/48064279
复制相似问题