如何添加和在我的输入值和变化

How to add sum in my input value and chage

本文关键字:我的 变化 输入 何添加 添加      更新时间:2023-09-26

我有这样的代码:

<input id=​"InvoiceItemPrice:​:​:​:​" name=​"InvoiceItemPrice:​:​:​:​" value size=​"6">​
<input id=​"InvoiceItemPrice:​:​1:​:​" name=​"InvoiceItemPrice:​:​1:​:​" value=​"46.00" size=​"6">​
<input id=​"InvoiceItemPrice:​:​2:​:​" name=​"InvoiceItemPrice:​:​2:​:​" value=​"79.00" size=​"6">​, 
<input id=​"InvoiceItemPrice:​:​3:​:​" name=​"InvoiceItemPrice:​:​3:​:​" value=​"14.00" size=​"6">​

我喜欢在输入类型的每个值中添加sum,我有这样的代码:

var sum = 100/123;
$('input[name="InvoiceItemPrice::2::"]').each(function()
{
    sum *= parseFloat($(this).val());
});
$('input[name="InvoiceItemPrice::2::"]').val(sum);

如何改变所有输入的所有值

我尝试过这个$("input [name = ' * InvoiceItemPrice ']"),但我抓住了第一个没有值的NaN给我一个错误。

发生的事情是你的sum变量在你的每条语句中被重用,如果你改变每条语句中的那一行,你应该是A-ok。

我在这里创建了一个jsFiddle https://jsfiddle.net/r79d3121/3/这可能会有帮助

HTML

<input id="InvoiceItemPrice::::" name="InvoiceItemPrice::::" value size="6">
<input id="InvoiceItemPrice::1::" name="InvoiceItemPrice::1::" value="46.00" size="6">
<input id="InvoiceItemPrice::2::" name="InvoiceItemPrice::2::" value="79.00" size="6">,
<input id="InvoiceItemPrice::3::" name="InvoiceItemPrice::3::" value="14.00" size="6">
jQuery

var sum = parseFloat(100 / 123);
$(function () {
    var result = 0;
    $('[id*="InvoiceItemPrice"]').each(function () {
        $(this).val(parseFloat((parseFloat($(this).val()) * parseFloat(sum))));
    });
});

更新为只更改输入所选

的值

第二次更新,当文档准备好时计算值,如果你想要更新值,你可以总是检查.focusout()在每个输入上,然后运行代码来计算值

第三次更新,html又回到了原来的样子而且,你可以在jQuery中使用部分选择器我已经提供并更新了jsFiddle链接

试试这样:

$('input[name^=InvoiceItemPrice]').each(function() {
$(this).val("example");
});