我有一个表格,用户输入一个重量,剩下的字段自动计算。让一切正常工作,除了总计 - 它取最后2个计算字段并将它们加在一起。表单加载后,我会在字段中获得NaN。任何帮助表示赞赏。
jQuery(function () {
var min = 'Min';
var total1 = .20;
var total2 = .17;
var total3 = .15;
var total4 = .13;
var total5 = .09;
$('#weight').change(function () {
var w = +$('#weight').val();
var total;
if (w < 425) {
price = min;
} else if (w < 1000) {
price = total1;
}
else if (w < 2200) {
price = total2;
}
else if (w < 4400) {
price = total3;
}
else if (w < 11000) {
price = total4;
}
else if (w > 11000) {
price = total5;
}
$('#rate').val(price);
})
})
jQuery(function () {
var min = 85.00;
var total1 = .20;
var total2 = .17;
var total3 = .15;
var total4 = .13;
var total5 = .09;
$('#weight').change(function () {
var w = +$('#weight').val();
var total;
if (w < 425) {
subtotal = min;
} else if (w < 1000) {
subtotal = w * total1;
}
else if (w < 2200) {
subtotal = w * total2;
}
else if (w < 4400) {
subtotal = w * total3;
}
else if (w < 11000) {
subtotal = w * total4;
}
else if (w > 11000) {
subtotal = w * total5;
}
$('#subtotal').val(subtotal.toFixed(2));
})
})
jQuery(function () {
var iva = .16;
$('#weight').change(function () {
var s = +$('#subtotal').val();
var total;
if (s <= 85) {
ivacalc = 85 * iva;
} else if (s > 85) {
ivacalc = s * iva;
}
$('#iva').val(ivacalc.toFixed(2));
})
})
jQuery(function () {
var a = parseFloat($('#subtotal').val());
var b = parseFloat($('#iva').val());
$('#total').val(a + b);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<label for="weight">Total Weight (in lbs)</label>
<input id="weight">
</div>
<div>
<label for="rate">Rate Per Lb</label>
<input id="rate">
</div>
<div>
<label for="subtotal">Sub Total </label>
<input id="subtotal">
</div>
<div>
<label for="iva">IVA </label>
<input id="iva">
</div>
<div>
<label for="total">Total </label>
<input id="total">
</div>
&#13;
答案 0 :(得分:1)
试试这个(假设您在字段上输入正确并触发了该功能):
//Initialize variables and get values from the input field
var subtotal = $('#subtotal').val();
var iva = $('#iva').val();
//Assign to another variable
var a = parseFloat(subtotal);
var b = parseFloat(iva);
var total = a+b;
$('#total').val(total);
答案 1 :(得分:1)
谢谢爱德华。
这没用,但确实如此:
jQuery(function () {
$("#weight").change(function () {
var iva = $("#iva").val();
var subtotal = $("#subtotal").val();
var total = parseFloat(iva) + parseFloat(subtotal);
$("#total").val(total.toFixed(2));
})
})
现在找出整个货币的事情。
答案 2 :(得分:0)
因为你解析了那些尚未定义的值:
var a = parseFloat($('#subtotal').val()); //parseFloat("")=NaN
var b = parseFloat($('#iva').val()); //parseFloat("")=NaN
$('#total').val(a + b); // NaN+NaN=NaN