yoone-wc-product-bundles/assets/js/frontend.js

45 lines
1.3 KiB
JavaScript

(function($) {
'use strict';
$(function() {
var minQty = 0;
var wrapper = $('.yoone-bundle-form');
// 从 DOM 中获取最小数量
var minText = wrapper.find('.yoone-bundle-min').text();
if (minText) {
var match = minText.match(/\d+/);
if (match) {
minQty = parseInt(match[0], 10);
}
}
function updateState() {
var total = 0;
wrapper.find('.yoone-bundle-qty').each(function() {
var v = parseInt($(this).val(), 10);
if (!isNaN(v) && v > 0) {
total += v;
}
});
// 更新显示的数量
wrapper.find('.yoone-bundle-selected-count').text(total);
// 根据是否满足最小数量来启用/禁用按钮
var btn = wrapper.find('.single_add_to_cart_button');
if (total >= minQty) {
btn.prop('disabled', false);
} else {
btn.prop('disabled', true);
}
}
// 绑定事件
wrapper.on('change keyup', '.yoone-bundle-qty', updateState);
// 页面加载时立即执行一次,以确保初始状态正确
updateState();
});
})(jQuery);