Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery合计具有相同类的textbox的值并将其放入另一个textbox中_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 如何使用jquery合计具有相同类的textbox的值并将其放入另一个textbox中

Javascript 如何使用jquery合计具有相同类的textbox的值并将其放入另一个textbox中,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我如何合计所有具有类1、2和3的文本框的值,并将其放入sum\u 1、sum\u 2和sum\u 3 我试过用这种方法 Jquery在这里: $(document).on("change", ".1", function() { var sum = 0; $(".1").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); }); 此处为HTML: <inp

我如何合计所有具有类
1
2
3
的文本框的值,并将其放入
sum\u 1
sum\u 2
sum\u 3

我试过用这种方法

Jquery在这里:

   $(document).on("change", ".1", function() {
    var sum = 0;
    $(".1").each(function(){
        sum += +$(this).val();
    });
    $(".total").val(sum);
});
此处为HTML:

<input type="text" class="1" value="1" />
<input type="text" class="2" value="2" />
<input type="text" class="3" value="5" />

这是一把小提琴,它只适用于一种价值

但是我怎么能像我在这个问题中所问的那样,对3个值这样做呢

更新:
我怎样才能得到你提到的第二把小提琴中的sum值,而实际上你的类名为sum_1(不是sum1)。另外,jQuery库需要添加到JSFIDLE中,正如mayanktum所说的,您忘记添加jQuery了。同样,在最后一行中,您错误地将选择器命名为
$(“.sum1”)
,而不是
$(“.sum_1”)。在那之后一切都很好

$(document).on("change", ".1", function() {
    var sum = 0;
    $(".1").each(function(){
        sum += +$(this).val();
    });
    $(".sum_1").val(sum);
});

如果你想在负载下做这件事,你可能应该这样做

$('.item').each(function(){
    var itemNumber = $(this).attr('class').split(" ");
    itemNumber.splice( itemNumber.indexOf("item"), 1 );
    var sumElement = $(".sum_" + itemNumber);
    var sum = (sumElement.val() == "") ? 0 : parseInt(sumElement.val());
    sum += parseInt($(this).val());
    sumElement.val(sum);
});
下面是一个计算局部和的方法

如果你想计算一个全局和(局部和之和),这里有一个


如果你有多个这样的输入组,那么你必须为每个输入添加一个类,这样你就知道你需要考虑哪些输入元素来计算。

<input type="text" class="item 1" value="1" />
<input type="text" class="item 2" value="2" />
<input type="text" class="item 2" value="3" />
<input type="text" class="item 2" value="4" />
<input type="text" class="item 3" value="5" />
<input type="text" class="item 3" value="6" />
<input type="text" class="item 3" value="7" />
<br>
<br>
<input type="text" class="sum_1" value="" />
<input type="text" class="sum_2" value="" />
<input type="text" class="sum_3" value="" />



 $(document).on("change", ".item", function () {
    var sum = 0;
    var itemNumber = $(this).attr('class').split(" ");
    itemNumber.splice( itemNumber.indexOf("item"), 1 );
    $('.'+itemNumber).each(function () {
        sum += parseInt($(this).val());
    });
    $(".sum_" + itemNumber).val(sum);
});



$(document).on(“change”,“.item”,函数(){ var总和=0; var itemNumber=$(this.attr('class').split(“”); 项目编号.拼接(项目编号.索引(“项目”),1); $('..+itemNumber).each(函数(){ sum+=parseInt($(this.val()); }); $(“.sum_”+itemNumber).val(sum); });
在上面的脚本中

  • $(this.attr('class')看起来像“item 1”

  • $(this.attr('class').split(“”)将是一个数组[“item”,“1”]

  • 然后我删除单词
    ,并使用该
    “1”

  • 这是一个


    希望这有帮助。

    请在您的问题中添加相关的HTML;不要指望我们愿意浏览其他网站(甚至JS Fiddle)来找到你的代码。让我们帮助你变得容易。我也更新了html。谢谢\你忘了在第二个fiddle链接中添加jquery。是的,我在php foreach函数中有这个文本框,我甚至不知道它将有多少个文本框,所以我应该使用这种类型吗?是的,它应该适用于你解释的场景。请检查更新的答案,这不重要。请确保已将
    项添加为类。另外,请确保jquery代码正好位于它正在工作的结束正文标记上方。。但是整个函数都在onchange中。。如何在document ready本身+1中更改它以获得您的答案。。。但我试过了,但没有成功。我可以在document ready中更改它吗?它还可以在更改项目后工作。。