每当客户修改商品数量时,我都试图进行自动购物车更新。当我未登录时它已经在工作,但是奇怪的是,当我登录时,该特定脚本将无法工作。
jQuery:
var timeout;
jQuery('div.woocommerce').on('change', 'input.qty', function(){
if(typeof timeout !== undefined) clearTimeout(timeout);
timeout = setTimeout(function() {
jQuery("[name='update_cart']").prop("disabled", false);
jQuery("[name='update_cart']").trigger("click");
}, 1500);
});
儿童主题的功能:
add_action( 'wp_enqueue_scripts', 'dp_cart_refresh_update_qty' );
function dp_cart_refresh_update_qty() {
if (is_cart()) {
wp_enqueue_script(
'cart_auto_refresh',
get_stylesheet_directory_uri() . '/js/cart_auto_refresh.js',
array('jquery')
);
}
}
发生这种情况时,没有错误控制台输出。它只是什么都不做,甚至没有触发。我尝试将console.log放在代码的某些部分上,什么也没有。
我已经使用此确切方法添加了其他几个jQuery,并且它们对于管理员和注销用户均正常工作。
感谢您的帮助。谢谢。
编辑:
我已经检查了“ update_cart”按钮,它位于购物车页面上,尽管我将其设置为显示:无
<input class="btn btn-alternative" name="update_cart" value="Update Shopping Cart" type="submit">
答案 0 :(得分:1)
尝试像这样包装jQuery代码:
jQuery(function($) {
var timeout;
jQuery('div.woocommerce').on('change', 'input.qty', function() {
if (typeof timeout !== undefined)
clearTimeout(timeout);
timeout = setTimeout(function() {
jQuery("[name='update_cart']").prop("disabled", false);
jQuery("[name='update_cart']").trigger("click");
}, 1500);
});
});