jQuery使用相同的类来动态创建元素

我没有。 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();
    });
}

请有人帮助我。


我得到了这个工作很好!

$(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">

尝试使用text()

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

 $('.Amount').each(function(index, val)
    {
        //do something
    }); 
链接地址: http://www.djcxy.com/p/83513.html

上一篇: jQuery to loop through dynamically created elements with the same class

下一篇: Passing values from a DIV element to an input