此代码用于计算价格,而表单本身无法实现。这也提供了一些条件。现在,当我在触发函数中定义此代码时,此代码运行良好。由于我已经制作了单独的用户定义函数,并且试图在各种触发器上调用它们,因此现在无法使用。
如果有人可以帮助我理解此代码的问题,我将非常荣幸!大家都知道,我并不是真正的程序员...
jQuery(function($) {
function cakecostcalc() {
var price;
var quant = $('#field_b4xx2').val();
var kindofcake = $("input[name='item_meta[302]']").filter(":checked").val() || 0;
var caketopper = $("input[name='item_meta[325]']").filter(":checked").val() || 0;
var tiers2 = $("input[name='item_meta[308]']").filter(":checked").val() || 0;
var tiers3 = $("input[name='item_meta[309]']").filter(":checked").val() || 0;
var tiers4 = $("input[name='item_meta[310]']").filter(":checked").val() || 0;
if (Number.isInteger(+quant)) {
if (kindofcake == 1100) {
price = (Math.floor(quant) * 1900) + Math.floor(caketopper) + Math.floor(tiers2) + Math.floor(tiers3) + Math.floor(tiers4);
$('#field_serv3').val(price);
} else {
price = (Math.floor(quant) * 1700) + Math.floor(caketopper) + Math.floor(tiers2) + Math.floor(tiers3) + Math.floor(tiers4);
$('#field_serv3').val(price);
}
} else {
if (kindofcake == 1100) {
price = (Math.floor(quant) * 1900) + 1100 + Math.floor(caketopper) + Math.floor(tiers2) + Math.floor(tiers3) + Math.floor(tiers4);
$('#field_serv3').val(price);
} else {
price = (Math.floor(quant) * 1700) + 1000 + Math.floor(caketopper) + Math.floor(tiers2) + Math.floor(tiers3) + Math.floor(tiers4);
$('#field_serv3').val(price);
}
}
}
function tierselector() {
var quant = $('#field_b4xx2').val();
do {
$('#frm_field_310_container').removeClass('no-display');
if (quant >= 2.5 && quant < 6) {
break
}; {
$('#frm_radio_310-0').css('display', 'block');
$('#frm_radio_310-1').css('display', 'block');
$('#frm_radio_310-2').css('display', 'none');
$('#frm_radio_310-3').css('display', 'none');
}
if (quant >= 6 && quant < 12) {
break
}; {
$('#frm_radio_310-0').css('display', 'block');
$('#frm_radio_310-1').css('display', 'block');
$('#frm_radio_310-2').css('display', 'block');
$('#frm_radio_310-3').css('display', 'none');
}
if (quant >= 12) {
break
}; {
$('#frm_radio_310-0').css('display', 'block');
$('#frm_radio_310-1').css('display', 'block');
$('#frm_radio_310-2').css('display', 'block');
$('#frm_radio_310-3').css('display', 'block');
}
break;
} while (Math.floor(quant) > 2);
}
function togglesinglemultiflavour() {
var tiernos = $("input[name='item_meta[310]']").filter(":checked").val() || 0;
if (Math.floor(tiernos) == 0) {
$('#frm_field_311_container').removeClass('no-display');
$('#frm_field_335_container').addClass('no-display');
} else {
$('#frm_field_335_container').removeClass('no-display');
$('#frm_field_311_container').addClass('no-display');
}
}
function difftiersmultiflavour() {
var difftiers = $("input[name='item_meta[335]']").filter(":checked").val();
var tiernos = $("input[name='item_meta[310]']").filter(":checked").val();
console.log(tiernos);
if (Math.floor(tiernos) == 500 && Math.floor(difftiers) == 1) {
$('#frm_field_337_container').removeClass('no-display');
$('#frm_field_337_container').addClass('2tiers');
$('#field_ywsfg_label').text('Please select any two flavours');
$('#frm_field_311_container').addClass('no-display');
} else if (Math.floor(tiernos) == 1000 && Math.floor(difftiers) == 1) {
$('#frm_field_337_container').removeClass('no-display');
$('#frm_field_337_container').addClass('3tiers');
$('#field_ywsfg_label').text('Please select any three flavours');
$('#frm_field_311_container').addClass('no-display');
} else if (Math.floor(tiernos) == 1500 && Math.floor(difftiers) == 1) {
$('#frm_field_337_container').removeClass('no-display');
$('#frm_field_337_container').addClass('4tiers');
$('#field_ywsfg_label').text('Please select any four flavours');
$('#frm_field_311_container').addClass('no-display');
} else {
$('#frm_field_311_container').removeClass('no-display');
$('#frm_field_337_container').addClass('no-display');
}
}
$('#field_b4xx2').on('input', cakecostcalc());
$('#field_b4xx2').on('input', tierselector());
$('#frm_field_310_container').click(togglesinglemultiflavour());
$('#frm_field_335_container').click(difftiersmultiflavour());
});