0

我有一个项目,我有一个工作估算表,其中有几个需要总计的“文本”输入字段,并且总数反映在最后一个字段中,例如,这是一个 id="estimateTotal" 的文本字段。

有没有一种简单的方法可以用 jQuery 做到这一点?

每次在其中一个估计字段中输入或更改值时,我希望估计总字段更新。

例如,我有这个 html:

<div class="field-group">
    <input class="text long-field" name="customfield_1" type="text" value="" placeholder="Hrs to prep">
    <input class="text long-field" name="customfield_2" type="text" value="" placeholder="Hrs to design">
    <input class="text long-field" name="customfield_3" type="text" value="" placeholder="Hrs to code">
    <input class="text long-field" name="estimateTotal" id="estimateTotal" type="text" value="" placeholder="Total Hrs">
</div>

而且我需要将所有不是总小时数字段的文本字段的值汇总到“estimateTotal”字段中。

我确信使用 jQuery 可能有十几种方法可以做到这一点,只是寻找一些建议的方法。

4

2 回答 2

0

像这样的东西就足够了:

var totalField = $('#estimateTotal');

$('.field-group').children('input:not(:last)').on('keyup', function(e) {
    var total = 0;
    $(this).parent().children('input:not(:last)').each(function() {  
        total+= (isNaN(parseFloat($(this).val()))) ? 0 : parseFloat($(this).val());
    });
    totalField.val(total);
});

这是一个jsFiddle 演示

于 2013-04-03T14:16:17.823 回答
0

你可以试试

var sum=0;
$(".field-group input").on("keyup",function(e){
$(".field-group").find("input :not([id='estimateTotal'])").each({
         sum += parseInt($(this).text());
    });
});
$("#estimateTotal").val(sum);
于 2013-04-03T14:17:17.653 回答