2010-08-17 6 views
2

Интересно, может ли кто-нибудь помочь мне.jQuery добавление нескольких текстовых полей

У меня есть веб-страница, где есть некоторые текстовые поля (динамическое количество, может быть 3, может быть 30), и каждый пользователь может ввести число, и у меня есть общее количество в нижней части.

В настоящее время у меня есть это:

$('input.qty').change(function() { 
// Get the current total value 
var total = $('#total'); 
// Update it with the changed input's value 
total.val(parseInt(total.val()) + parseInt($(this).val())); 
}); 

Пример HTML:

<td><input type="text" class="qty" value="0" /></td> 
<td><input type="text" class="qty" value="0" /></td> 
<td><input type="text" class="qty" value="0" /></td> 
<td><input type="text" id="total" value="0" /></td> 

который добавляет штраф в первый раз, но когда вы начинаете менять значения он просто добавляет новую сумму к общей, а затем добавив все поля вверх.

Как я могу сортировать это? Может быть, использовать каждый атр каким-то образом?

ответ

2

Вы можете перебрать их все с помощью .each() и суммировать их, как это:

$('input.qty').change(function() { 
    var sum = 0; 
    $('input.qty').each(function() { sum += parseInt(this.value, 10); }); 
    $('#total').val(sum); 
}); 

You can give it a try here, если вы хотите, чтобы известковы на каждом нажатии клавиши используйте .keyup() вместо .change(), like this.

Смежные вопросы