我在使用强大的表单和WordPress时在JQuery中编写了一些代码

时间:2019-06-22 17:20:24

标签: javascript jquery

此代码用于计算价格,而表单本身无法实现。这也提供了一些条件。现在,当我在触发函数中定义此代码时,此代码运行良好。由于我已经制作了单独的用户定义函数,并且试图在各种触发器上调用它们,因此现在无法使用。

如果有人可以帮助我理解此代码的问题,我将非常荣幸!大家都知道,我并不是真正的程序员...

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());

});

0 个答案:

没有答案