我没有。在按钮单击中动态创建的div。
<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 :(得分:5)
我的工作得很好!
$(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
的元素。对类使用.
选择器并添加名称。
Index表示位置,而val是当前元素。
编辑:获取一个局部变量并将其设置为0.之后,迭代该类的所有元素并获取其文本。由于它是String
,因此js会尝试将sum
变量转换为String
。您需要将文本解析为int
。这是一个有效的例子。
这是HTML
<table>
<tbody id="ProductDetail"></tbody>
</table>
<input type="button" id="sum" value="Sum">
答案 1 :(得分:2)
尝试使用text()
$('.Amount').each(function (i, obj) {
TotalAmountValue += parseInt($(this).text());
});
答案 2 :(得分:1)
$('.Amount').each(function(index, val)
{
//do something
});