我想总结6个输入并使用javascript将值设置为另一个输入

时间:2016-02-03 17:03:39

标签: javascript jquery html

我想总结6个输入并使用javascript将值设置为另一个输入。

https://jsfiddle.net/arispapapro/1qbjd36c/9

<form>
  <input type="text" name="no301" class="form-control" id="no301" placeholder="">
  <input type="text" name="no301" class="form-control" id="no302" placeholder="">
  <input type="text" name="no301" class="form-control" id="no303" placeholder="">
  <input type="text" name="no301" class="form-control" id="no304" placeholder="">
  <input type="text" name="no301" class="form-control" id="no305" placeholder="">
  <input type="text" name="no301" class="form-control" id="no306" placeholder="">
  <input type="text" name="no307" class="form-control" id="thesum" placeholder="307">
</form>

使用Javascript:

var no301 = document.getElementById("no301").value;
var no302 = document.getElementById("no302").value;
var no303 = document.getElementById("no303").value;
var no304 = document.getElementById("no304").value;
var no305 = document.getElementById("no305").value;
var no306 = document.getElementById("no306").value;
var no307 = document.getElementById("no307").value;

var sum = no301 + no302 + no303 + no304 + no305 + no306;

sum.onchange = function() {
  thesum.value = sum;  
}

thesum.onchange = function() {
  sum.value = thesum;
}

1 个答案:

答案 0 :(得分:3)

https://jsfiddle.net/1qbjd36c/13/ 检查小提琴

d = prod.data.datastatus.distinct()
  1. $("form .form-control").not("#thesum").on("input", function() { var getSum = 0; $("form .form-control").not("#thesum").filter(function() { if($.isNumeric($(this).val())) return $(this).val(); }).each(function() { getSum+=parseFloat($(this).val()); }); $("#thesum").val(getSum); }); 已使用标记和类选择器来引用目标。
  2. $("form .form-control")添加了一个not选择器,以避免更改Resulting TEXT字段的输入。
  3. not("#thesum")利用ON-INPUT事件触发所有输入格式,包括剪辑文本的粘贴。
  4. on("input", function() {利用过滤功能仅对数值进行估值。
  5. .filter(function() {,这里使用getSum+=parseFloat($(this).val());表示将前一个值与变量相加,换句话说,就是值的递归变化,它返回所有迭代值的总和。
  6. 谢谢&amp;问候。