问题
我有一个使用 jQuery 进行魔术的表单。在那个表单上有一个按钮Add Account
。该按钮附加字段Account
和Amount
另一个按钮Remove Account
(如果您能猜到,删除这两个字段)。这一切都很好......
在同一个表单上还有另一个字段Salary
,我想将其与所有Amount
字段的总数进行比较。问题是当我使用 jQuery$.each()
遍历Amount
字段时,它只识别页面加载时 DOM 中存在的那些字段,而不是新添加的字段。
如何遍历这些附加Amount
字段?(或者也许有更好的办法完全做到这一点?)
我现在在做什么:
$(document).ready(function(){
$('#form').on('keyup', '.amount', balanceAmountsWithSalary);
});
var balanceAmountsWithSalary = function(){
var salary = parseInt($('#salary').val(),10);
var total = 0;
$('#accounts .account').each(function(){
var amount = parseInt($(this).find('.amount').val(),10);
total += amount;
});
if (total === salary) {
$('#accounts .account').each(function(){
// Do some stuff to each input.amount located in div.account
});
} else {
$('#accounts .account').each(function(){
// Do some BAD stuff to each input.amount located in div.account
});
}
}
谢谢!
回答
因此,在一开始就包含我的其余代码可能会更有帮助,因为问题是添加帐户事件中的一个简单错误。我错误地标记了我的容器类,仅在附加项目的名称中添加了“s”。无论如何,这就是评论!在 jsFiddle 上发布一个示例帮助我找到了这个错误,所以如果你想知道的话,这里是实际操作。