2014-05-16 38 views
-1

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

这里是我的静态输入

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

这里我的按钮添加动态输入

<p id="add_lundi" class="plus"> 
    <a href="#"><span> + </span></a> 
</p> 
<p id="remove_lundi" class="minus"> 
    <a href="#"><span> - </span></a> 
</p> 

这是我在javascript功能,使新行动态

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();"/> 

编辑

在这里,我怎么计算我的静态的暂时和其行的事把我的静态(我没有表现出我所有的输入过这样totaldimanche是存在totallundi存在,但我并没有在告诉你我的输入在代码中导致其全部相同。

$('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); 
+0

试图帮助 - 但很难想象你想要做什么。最好是在jsbin或jsfiddle中看到它。这是我的原创。这是我对你的问题的答案的原始工作。 [链接到jsbin-example](http://jsbin.com/ridiz/1/edit)为输入文本字段创建一个加减功能。 – jamie

+0

在这里,例如http://cjoint.com/14mi/DEqwD0PDBfw.htm我想要的东西,如果它清楚我会解释:所以在灰色输入的一天。在最后一次输入中创建所有灰色输入(总周数)之后。 – user3613856

回答

0

我认为你可以使用length property,并显示您的输入值。

添加新动态输入后,您可以将它添加到您的功能中。

编辑:

要附加有一个ID等于临时工+增量新的输入,它有一个类,它的名字是动态的。如果你想知道动态输入的数量,那么你只需要调用一个可以计算的函数。您可以创建一个新函数countDynamicInputs(),并在确定新输入之后使用您的点击功能调用它。

function countDynamicInput() { 

    $(".dynamic").length; 

} 

看到你的代码,我没有看到任何其他方式,你的静态输入做,因为你只设置一个ID,它是临时工+增量,一类是动态计算动态输入。如果您想对静态输入进行输入计数,则应设法设置动态输入中的日期。

EDIT2:

你说,“我想计算他们,并表明在其他输入总”我了解它,因为你想知道动态输入的数量。如果你想获得价值,那么你需要在你的动态投入上使用each iterator,并得到它的价值并将它们相加。

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

+0

现在我有谁只计算静态输入,而不是我一个动态的功能,当它改变我将修改我的问题,你可以看到 – user3613856

+0

我需要计数输入不能指望我有多少输入数字。如果在输入1(动态)我有在+ input2dynamic数为例5的编号10)将显示在总共15个 – user3613856