45 lines
1.3 KiB
JavaScript
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); |