2014-05-16 35 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