Javascript 如何计算我所有的输入

Javascript 如何计算我所有的输入,javascript,html,dynamic,input,static,Javascript,Html,Dynamic,Input,Static,你好,我有两种类型的输入动态和静态。我想计算它们,并在其他输入中显示总数 这是我的静态输入 <input step="any" type="number" readOnly id="totallundi" class="totallundi" name="totallundi" size="10" min="0" max="24" value="0" onblur="autre();" onfocus="enter();"/> 我认为您可以使用并显示输

你好,我有两种类型的输入动态和静态。我想计算它们,并在其他输入中显示总数

这是我的静态输入

<input step="any" type="number" readOnly id="totallundi" class="totallundi"
       name="totallundi" size="10" min="0" max="24" value="0" onblur="autre();" 
       onfocus="enter();"/>

我认为您可以使用并显示输入的值

您可以在添加新的动态输入后将其添加到函数中

编辑:

您正在附加一个id等于temps+increment的新输入,并且它有一个名为dynamic的类。如果您想知道动态输入的数量,那么只需要调用一个计数的函数即可。您可以创建一个新函数
countdynamicnputs()
,并在结束新输入后在单击函数上调用它

function countDynamicInput() {

    $(".dynamic").length;

}
看到您的代码,我没有看到任何其他方法可以像静态输入那样计算动态输入,因为您只设置了一个temps+increment的id和一个动态的类。如果您想像对静态输入那样对输入进行计数,那么应该寻找一种在动态输入中设置天数的方法

编辑2:

你说“我想计算它们,并在其他输入中显示总数。”我理解为你想知道动态输入的数量。如果你想得到这个值,那么你需要在你的动态输入上使用,得到它的值并求和


您可以将each应用到动态类中,以获取所有输入,并为每次迭代获取值。

现在我有一个函数,它只计算静态输入,而不计算动态输入,当它更改时,我将编辑我的问题,您可以看到我需要计算输入中的数字,而不计算我有多少输入。如果在输入1(动态)中,我有数字10 in+input2动态数字示例5 in)将显示在总数15中试图帮助-但很难想象你正在尝试做什么。最好在jsbin或JSFIDLE中查看它。这是我的原创作品。这是我回答你问题的原著。在你的输入文本字段中创建了一个加减功能。在这里举例说明我想要什么,如果它不清楚的话,我会解释:所以在灰色输入中输入一天的总数。完成最后一次输入中所有灰色输入的合计(本周合计)。
var counter = 0;
var $newRow; 

$(function(){
    $('#add_field').click(function(){
        counter += 1;

        $('#calculTempsdiv').append(
            $('<input id="temps' + counter + '" name="temps[]" type="number" size="10" min="0" max="24" value="0" step="any" onchange="checkField();" class="dynamic" onblur="autre();" onfocus="enter();"/>')  
        )
    });
});
<input step="any" type="number" id="totaldimanche" class="totaldimanche" 
       readOnly name="totaldimanche" size="10" min="0" max="24" value="0" 
       onblur="autre();" onfocus="enter();"/>
$('document').ready(function() {



    $(
        '#totaldimanche,#totallundi, #totalmardi, #totalmercredi , #totaljeudi, #totalvendredi ,#totalsamedi, #input1,#input2,#temps3,#input4,#input5,#input6,#tempsam  '
    ).each(function()   {$(this).on('change',recalculate);}
       );

});

function recalculate()
{

    if(isNaN(this.value))
       alert("Please enter a number");

    else
    {

   var b = 0; 

     if ( 
     ( $('#totaldimanche').val() !== b)  
     &&   ( $('#totallundi').val() !== b   )
     &&    ($('#totalmardi').val() !== b   )
     &&    ($('#totalmercredi').val() !== b   )
     &&    ($('#totaljeudi').val() !== b   )
     &&   ( $('#totalvendredi').val() !== b   )   
     &&   ( $('#totalsamedi').val() !== b ))
     {

        var a = 40;

        var value1 = $('#totaldimanche').val() == "" ? 0 :  parseFloat($('#totaldimanche').val());
        var value2 = $('#totallundi').val() == "" ? 0 :  parseFloat($('#totallundi').val());
        var value3 = $('#totalmardi').val() == "" ? 0 :  parseFloat($('#totalmardi').val());
        var value4 = $('#totalmercredi').val() == "" ? 0 :  parseFloat($('#totalmercredi').val());
        var value5 = $('#totaljeudi').val() == "" ? 0 :  parseFloat($('#totaljeudi').val());
        var value6 = $('#totalvendredi').val() == "" ? 0 :  parseFloat($('#totalvendredi').val());
        var value7 = $('#totalsamedi').val() == "" ? 0 :  parseFloat($('#totalsamedi').val());
        var total =  value1 + value2 + value3  + value4 + value5 + value6 + value7 ;

        $('#result').val(total);
function countDynamicInput() {

    $(".dynamic").length;

}