计算输入值
Count input values
我想在不刷新页面的情况下计算插入表单中的值。如果所有输入都设置了相同的"name='test'",则下面的代码运行良好,但我需要名称是唯一的,以便在使用php提交表单后处理表单。
有人知道我如何使用javascript/jquery中的"id='count'"来获取输入值吗?
提前感谢您的帮助。
例如
function findall() {
var array = document.getElementsByName('price_no_vat');
var total = 0;
for (var i = 0; i < array.length; i++) {
if (parseInt(array[i].value))
total += parseInt(array[i].value);
}
document.getElementById('3').value = total;
}
<input id="1" name="price_no_vat" onblur="findall()">
<input id="2" name="VAT" onblur="findall()">
<input id="3" mame="all" disabled>
我不懂其中的逻辑。简单地说,你可以做到:
$(function () {
$("input").blur(function () {
$("#3").val(function () {
var i1 = parseFloat($("#1").val());
var i2 = parseFloat($("#2").val());
i1 = isNaN(i1) ? 0 : i1;
i2 = isNaN(i2) ? 0 : i2;
return i1 + i2;
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="1" name="price_no_vat" />
<input id="2" name="VAT" />
<input id="3" mame="all" disabled />
使用纯JavaScript,您可以实现以下目标:
function recalc() {
var i1 = parseFloat(document.getElementById("1").value);
var i2 = parseFloat(document.getElementById("2").value);
i1 = isNaN(i1) ? 0 : i1;
i2 = isNaN(i2) ? 0 : i2;
document.getElementById("3").value = i1 + i2;
}
<input id="1" name="price_no_vat" onblur="recalc()" />
<input id="2" name="VAT" onblur="recalc()" />
<input id="3" mame="all" disabled />
您可以指定一个公共类,然后Document.querySelectorAll()
可以与类选择器一起使用。
返回文档中与指定选择器组匹配的元素列表(使用文档节点的深度优先预排序遍历)。
function findall() {
var array = document.querySelectorAll('.cls');
var total = 0;
for (var i = 0; i < array.length; i++) {
if (parseInt(array[i].value))
total += parseInt(array[i].value);
}
document.getElementById('3').value = total;
}
<input id="1" name="price_no_vat" class='cls' onblur="findall()">
<input id="2" name="VAT" class='cls' onblur="findall()">
<input id="3" name="all" disabled>
$('#1).val();
将向您显示id="1"
的值
如果你想得到所有的
$.each('input', function(idx, obj) {
console.log($(obj).val());
//you can set a counter, and add items, you can push it into an array,
//you can write condition here, etc...
});
$(function () {
$("input").blur(function () {
$("#3").val(function () {
var i1 = 0;
$("[name='price_no_vat']").each(function (index, element) {
i1 += parseFloat(element.value) || 0;
});
var i2 = parseFloat($("#2").val()) || 0;
return i1 + i2;
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="1" name="price_no_vat" />
<input id="12" name="price_no_vat" />
<input id="2" name="VAT" />
<input id="3" mame="all" disabled />
试试这个
$('input:not([id="3"])').blur(function(e) {
var total = 0;
$('input:not([id="3"])').each(function(idx, obj) {
thisval = parseInt($(this).val());
thisval = isNaN(thisval) ? 0 : thisval;
total = total + thisval;
});
$("#3").val(total);
});
Fiddle
相关文章:
- 计算输入中有多少逗号分隔的字符串
- 从表单中获取用户输入执行计算(操作顺序)并输出回该表单
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- 计算输入值
- 如何从范围滑块动态值计算输入值
- 使用reactjs setState回调获取上一个输入值的计算值
- 在添加的输入字段中计算TOTAL
- 基于输入框的角度JS计算
- 计算输入的每个单词组合的百分比
- 对表单输入执行计算
- 当用户在文本框中输入日期时,如何计算一年的持续时间
- 使用 JavaScript 计算并添加表单输入的值
- 使用单选按钮的输入计算分数
- Javascript - 根据用户的表单输入计算用户的年龄
- 从用户输入计算日期
- 不使用eval()从表单输入计算数据
- 如何根据 3 个下拉列表中的输入计算值
- 通过文本字段输入计算余额和预付款
- JavaScript中的动态输入计算
- Javascript动态输入计算