我所拥有的是两组表单字段。第一组字段被加在一起,并且总和被放入第三个字段。第二组做同样的事情。然后,将相加的值相互减去并放入第三个字段。
我的问题是,虽然第一组字段工作正常,但第二组完全拒绝做任何事情。而且我不确定从第三个字段开始。
这是我目前前两组的脚本:
$('.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/
答案 0 :(得分:0)
class=
比较整个属性值,它不仅检查元素是否具有指定的类,因此在您的情况下,您需要将选择器更改为
input[class="span3 loan-add"]
更好的方法是使用类选择器语法,如下所示:
$('input.loan-add')