Я пытаюсь получить общее значение из массива полей формы, но по какой-то причине значение неверно в Keyup, последнее значение добавляется из последнего введенного значения, и не все поля здесь моя функция:Значение добавления цикла функции JQuery
function percentage_hardcoded_form(_formharcoded_id, _form_fieldArray, _form_hardcodedtotalWrapper, _form_hardcodedtotalId) {
var _form = $j(_formharcoded_id);
var _sumDisplay = _form.find(_form_hardcodedtotalId);
$j(_form_hardcodedtotalId).attr('disabled','disabled');
$j.each(_form_fieldArray, function(index, item) {
var _summands = item;
var sum = 0;
_form.delegate(_summands, 'change', function() {
//$j.each(function() {
var value = Number($j(this).val());
if (!isNaN(value) && !$j(this).is(_form_hardcodedtotalId)) sum += value;
//});
if(sum === 100)
{
// is 100
$j(_form_hardcodedtotalWrapper).removeClass('warning');
$j(_form_hardcodedtotalWrapper).find('.QuestionWarning').hide();
}
else
{
// isnt 100
$j(_form_hardcodedtotalWrapper).addClass('warning');
$j(_form_hardcodedtotalWrapper).find('.QuestionWarning').show();
}
_sumDisplay.val(sum);
});
});
}
percentage_hardcoded_form('#aspnetForm #questions_page_Page17', designForm_ids_1, "#question_DCWorkSplit", "#DCWorkSplit");
Вот jsfiddle того, что я работаю с: http://jsfiddle.net/q05k48b7/1/
Update
Я обновил скрипку JS см ссылка ниже, все еще не работает.
http://jsfiddle.net/q05k48b7/2/
Ваш 'sum' всегда сбрасывается в 0 на каждом' onblur' события. –
Хорошо, я попытался поместить сумму var за пределы каждого, но он продолжает прибавлять к сумме, но не удаляет, когда значение уменьшается? Есть идеи? – neoszion
Если я это сделаю, я назначу общий класс этой группе текстовых полей и получаю значения каждого текстового поля (через класс), суммирую их и назначая другому текстовому полю каждый раз, когда происходит событие onchange –