将字段添加到第三个&第四个字段,然后减去这两个字段

时间:2015-01-16 15:45:11

标签: jquery forms math

我所拥有的是两组表单字段。第一组字段被加在一起,并且总和被放入第三个字段。第二组做同样的事情。然后,将相加的值相互减去并放入第三个字段。

我的问题是,虽然第一组字段工作正常,但第二组完全拒绝做任何事情。而且我不确定从第三个字段开始。

这是我目前前两组的脚本:

$('.assets-add.span3').change(function(){
    var totAssets = 0;
    $.each($('input[class="assets-add span3"]'),function(){
        var assets_val = $(this).val();
        if(assets_val != ""){
            totAssets = totAssets += parseFloat($(this).val());
            $('.totalAssetsField').val(totAssets);
        }
    });
});
$('.loan-add.span3').change(function(){
    var totLoans = 0;
    $.each($('input[class="loan-add"]'),function(){
        var loan_val = $(this).val();
        if(loan_val != ""){
            totLoans = totLoans += parseFloat($(this).val());
            $('.total-liabilities-field').val(totLoans);
        }
    });
});


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

正如你所看到的,除了一些阶级变化之外,它们几乎完全相同。所以我无法弄清楚为什么一个有效,另一个没有。就像我说的那样,我也不知道从哪里开始第三场。

这是一个可能更有意义的jsFiddle:http://jsfiddle.net/km2hLecb/

1 个答案:

答案 0 :(得分:0)

class=比较整个属性值,它不仅检查元素是否具有指定的类,因此在您的情况下,您需要将选择器更改为

input[class="span3 loan-add"]

更好的方法是使用类选择器语法,如下所示:

$('input.loan-add')