2016-01-20 4 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.I попыталось ниже кода. Но это не повторяющийся цикл.

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 класс) –

ответ

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

2

Попробуйте использовать text()

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