2016-01-20 88 views
0

我沒有。 div是在按鈕點擊動態創建的。jQuery通過動態創建相同類的元素來循環

<table> 
    <tbody id="ProductDetail"></tbody> 
</table> 

在按鈕點擊,一些沒有。的div創建與金額值。

funtion createDiv(){ 
    $("#ProductDetail").append("<tr><td ><div class='Amount'>"+Amount+"</div></td></tr>"); 
} 

我想循環這些動態創建的div來獲取jquery中的Amount值。我在下面的代碼中試過。但它不是迭代循環。

function calculateAmount(){ 
    $('.Amount').each(function (i, obj) { 
     TotalAmountValue=TotalAmountValue+$(this).html(); 
    }); 
} 

請有人幫助我。

+0

您可以包括你已經到目前爲止已經試過了JS?你可以使用類通過DIV迭代,但我不知道你現在怎麼做 – guradio

+0

[jQuery循環通過具有相同類的元素]的可能重複(http://stackoverflow.com/questions/4735342/jquery-to-loop-through-elements-with-the-same -class) –

回答

4

我得到這個工作很好!

$(document).ready(function(){ 
      $("#ProductDetail").append("<tr><td><div class='Amount'>3</div></td></tr>"); 
      $("#ProductDetail").append("<tr><td><div class='Amount'>3</div></td></tr>"); 
      $("#ProductDetail").append("<tr><td><div class='Amount'>3</div></td></tr>"); 

      $("#sum").click(function() 
      { 
       var sum = 0; 
       $(".Amount").each(function() 
       { 
        sum += parseInt($(this).text()); 
       }); 
       alert(sum); 
      }); 
     }); 

.each遍歷所有的元素有類Amount。使用.選擇器作爲類並添加名稱。 索引代表位置,而val是當前元素。

編輯:獲取一個局部變量並將其設置爲0.之後,迭代所有具有該類的元素並獲取文本。由於它是String,因此js會嘗試將sum變量轉換爲String。你需要解析文本到int。這是一個工作示例。

下面是HTML

<table> 
     <tbody id="ProductDetail"></tbody> 
    </table> 
    <input type="button" id="sum" value="Sum"> 
+0

我試過這些。但它不工作..這些div是動態創建的 – sajbeer

+0

@sajbeer,AmountValue在你的函數中做什麼? –

+0

計算總金額值..但它不起作用。 – sajbeer

1
$('.Amount').each(function(index, val) 
    { 
     //do something 
    }); 
2

嘗試使用text()

$('.Amount').each(function (i, obj) { 
    TotalAmountValue += parseInt($(this).text()); 
});