我有一个子总数的js代码和当我改变其文本字段的值时这个子总变化,但是因为TotalSavings和TotalVariable的这个字段改变了它应该改变我的TotalExpenses的值,但是它没有这样做。我的TotalSavings,TotalVariable和TotalExpenses的文本字段是只读的,如何根据我的子总计中的每个值更改TotalExpenses:TotalSavings和TotalVariable
这是我的子总数的js代码,
$(function() {
$("#Insurance, #COL, #Saveup, #SSS").keyup(function() {
var i = parseInt($("#Insurance").val(), 10);
var c = parseInt($("#COL").val(), 10);
var s = parseInt($("#Saveup").val(), 10);
var e = parseInt($("#SSS").val(), 10);
$("#TotalSavings").val(i + c + s + e);
});
});
$(function() {
$("#Fares, #Recreation, #OtherExpenses").keyup(function() {
var f = parseFloat($("#Fares").val(), 10);
var r = parseFloat($("#Recreation").val(), 10);
var o = parseFloat($("#OtherExpenses").val(), 10);
$("#TotalVariable").val(f + r + o);
});
});
这是我的总js代码,
$(function() {
$("#TotalSavings, #TotalVariable").keyup(function() {
var t1 = parseFloat($("#TotalSavings").val(), 10);
var t2 = parseFloat($("#TotalVariable").val(), 10);
$("#TotalExpenses").val(t1 + t2);
});
});
答案 0 :(得分:2)
不要使用keyUp
处理程序进行总值计数,请使用此功能。
在您的情况下keyUp
永远不会调用TotalSavings
和TotalVariable
的回调函数,因为更改是通过脚本而不是用户输入以编程方式进行的。
$(function() {
$("#Insurance, #COL, #Saveup, #SSS").keyup(function() {
var i = parseInt($("#Insurance").val(), 10);
var c = parseInt($("#COL").val(), 10);
var s = parseInt($("#Saveup").val(), 10);
var e = parseInt($("#SSS").val(), 10);
$("#TotalSavings").val(i + c + s + e);
updateTotalExpenses();
});
$("#Fares, #Recreation, #OtherExpenses").keyup(function() {
var f = parseFloat($("#Fares").val(), 10);
var r = parseFloat($("#Recreation").val(), 10);
var o = parseFloat($("#OtherExpenses").val(), 10);
$("#TotalVariable").val(f + r + o);
updateTotalExpenses();
});
});
function updateTotalExpenses() {
var t1 = parseFloat($("#TotalSavings").val(), 10);
var t2 = parseFloat($("#TotalVariable").val(), 10);
$("#TotalExpenses").val(t1 + t2);
});