2013-06-28 63 views
0

我想在另一個表單中添加一堆相同的表單。我想我很接近,但我不知道斷開連接的位置。我試圖將表格總計起來,然後總計表格中的總數到最後。在一個表格中總計一個類的總數

HTML

<div class="container"> 
    <div class="row-fluid"> 
     <div class "span12 exercise1 addWorkout"> 
      <img src="assets/img/plus01.jpg" class="addWorkout imgButton">Add A Workout</div> 
     <!-- <img src="assets/img/minus01.png" class="delWorkout imgButton"> --> 
     <div class="span12 workoutList" id="workoutList"> 
      <div class="cloneMe"> 
       <div class="row-fluid exercise1 one_rep_calc_container workoutOrgin span4"> 
        <div class="oneWorkout"> 
         <form> 
          <div class="span4">Weight 
           <input class="weight" type="number" name="weight" size="2"> 
          </div> 
          <div class="span4">Reps 
           <input class="reps" type="number" name="reps" size="2"> 
          </div> 
          <div class="span4">OneRepMax 
           <input class="one_rep_max" type="number" Name="oneRepMax" size="2"> 
          </div> 
          <div class="span4">TotalWeight 
           <input class="totalWeight" type="number" Name="totalWeight" size="2"> 
          </div> 
         </form> 
         <!-- <img src="assets/img/plus01.jpg" class="addWorkout exercise1 imgButton"> 
--> 
         <img src="assets/img/minus01.png" class="delWorkout imgButton"> 
        </div> 
       </div> 
      </div> 
     </div> 
     <div class="span12 workoutResults"> 
      <form> 
       <div class="span4">Total 
        <input class="totalAll" id="subtotal" type="number" name="total" size="2"> 
       </div> 
      </form> 
     </div> 
    </div> 
</div> 

jQuery的

$('.totalWeight').change(function() { 
    var parent = $(this).parents('.workoutResults .one_rep_calc_container'); 
    var totalWeight = parseInt(parent.find('.totalWeight').val(), 10); 
    var totalAll = parseInt(parent.find('.totalAll').val(), 10); 

    if (weight > 0) { 
     var totalWeightval = 0; 
     $('.totalWeight').each(function() { 
      totalWeightval += parseFloat(this.value); 
     }); 
     parent.find('.totalAll').val(totalWeightval); 
    } else { 
     parent.find('.totalAll'); 
    } 
}); 

我如何能更好地組織我的代碼,這將是偉大的,以及任何建議。

+1

究竟是什麼問題?輸入是否更新?我的建議,仔細檢查你的父母選擇器,因爲它不符合你的標記,並嘗試改進你的功能的邏輯。 –

回答

0
var parent = $(this).parents('.workoutResults .one_rep_calc_container'); 

parents查找選擇相匹配的所有可能的父元素。您應該使用closest來代替。


var totalWeight = parseInt(parent.find('.totalWeight').val(), 10); 

多少輸入與類totalWeight有哪些?一個還是多個?稍後,您使用$('.totalWeight').each(...),這表示將會有多個,但是parent.find('.totalWeight').val()只有在有一個時纔有意義。


if (weight > 0) { 

您還沒有定義的變量weight但(除非它是你沒有表現出一個全局變量),所以這個比較總是false


parent.find('.totalAll'); 

這條線本身並不做任何有用的。

相關問題