jquery将输入值除以其他字段的总和

时间:2014-07-06 23:17:10

标签: jquery

我确信这已经出现在此之前,但我似乎无法连接两个必需的函数来产生我需要的结果。

我目前有以下代码将前三个字段的值加在一起,这个阶段正常工作......

http://jsfiddle.net/mobius80/JwL4D/1/

HTML:

<form method="post">
    <input type="text" id="the_input_id"><br>
    <input type="text" id="the_input_id1"><br>
    <input type="text" id="the_input_id2"><br>
    <select id="the_input_id3">
        <option value="0">Pay in full</option>
        <option value="52">Weekly</option>
        <option value="26">Fotnightly</option>
        <option value="13">Four weekly</option>
        <option value="12">Monthly</option>
    </select> <br>
    <input type="text" id="total"><br>
</form>

jQuery的:

$(function() {

    $('#the_input_id').keyup(function() {  
    updateTotal();
    });

    $('#the_input_id1').keyup(function() {  
    updateTotal();
    });

    $('#the_input_id2').keyup(function() {  
    updateTotal();
    });
    $('#the_input_id3').keyup(function() {  
    updateTotal();
    });

    var updateTotal = function () {
      var input1 = parseInt($('#the_input_id').val());
      var input2 = parseInt($('#the_input_id1').val());
      var input3 = parseInt($('#the_input_id2').val());
      var input4 = parseInt($('#the_input_id3').val());

    if (isNaN(input1) || isNaN(input2) || isNaN(input3) || isNaN(input4)) {

      if(!input2){
          $('#total').val($('#the_input_id').val());
      }

      if(!input1){
            $('#total').val($('#the_input_id1').val());
      }

      if(!input3){
          $('#total').val($('#the_input_id2').val());
      }

      if(!input4){
          $('#total').val($('#the_input_id3').val());
      }


  } else {          
        $('#total').val(input1 + input2 + input3 / input4);
  }
};

var output_total = $('#total');

var total = input1 + input2  + input3  / input4;

   output_total.val(total);

});

前三个字段的添加工作完美但我现在试图将该添加的总数除以选择框中选择的值,并且似乎无法将其与总数相加第一系列补充。

对此的任何帮助都会有很大的帮助。

如前所述,我在http://jsfiddle.net/mobius80/JwL4D/1/

处有一个半工作的jsfidle

1 个答案:

答案 0 :(得分:1)

您需要将三个输入括在括号中。 所以改变这个:

input1 + input2  + input3  / input4;

到此:

(input1 + input2  + input3)  / input4;

工作小提琴here

根据Order of operations,无需担保,计算出input3/input4,然后添加到input1 + input2