我想从表单字段数组中获取总值,但由于某种原因,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/
更新
我已经更新了JS提琴见链接下面,仍然无法正常工作。
http://jsfiddle.net/q05k48b7/2/
你'sum'总是复位为0每'onblur'事件。 –
好吧我试着把var的总和放在每个之外,但是它总是增加到总数上,但是当值减少时它不会删除?有任何想法吗? – neoszion
如果我愿意这样做,我将为该组文本框分配一个公共类,并获取每个文本框的值(通过类),然后将它们相加并分配给另一个文本框,每次发生onchange事件时 –