0

「追加」ボタンのみがクリックされたときに、2 つの関数を呼び出そうとしています。私が抱えている問題は、calculate_balances 関数の最後の 4 つのテキスト ボックスが変数を出力していないことです。

var $ = function (id) {
    return document.getElementById(id);
}




// Declare Arrays to store information from Inputs //
var transactions = [];
transactions[0] = []; // holds date
transactions[1] = []; // holds transaction type
transactions[2] = []; // holds amount

// Function to print results to text area //
var update_results = function () {
    var list = ""; // string variable to build output //    
    // check to see if arrays are empty //
    if (transactions[0].length == 0) {
        $("results").value = "";
    } else {
        list = "";
    // for loop to cycle through arrays and build string for textarea output // 
        for (var i = 0; i < transactions[0].length; i++) {
        list += transactions[0][i] + "     " + transactions[1][i] + "      " + transactions[2][i] + "\n";
        }
    // display results //
    $("results").value = list;
    }


}
// function to gather inputs //
var add_transaction = function () {
    $("add").blur();
    transactions[0][transactions[0].length] = $("date").value;
    transactions[1][transactions[1].length] = $("transType").value;
    transactions[2][transactions[2].length] = parseFloat( $("amount").value);
    update_results();
    calculate_balances();


}

// function for Calculations //
 var calculate_balances = function () {

    var startBal = 2000.00;
    var ttlDeposits = 0;
    var ttlWithdrawals = 0;
    var endBal = startBal;

    if (transactions[1][transactions[1].length] == "deposit")
    {
        ttlDeposits += transactions[2][transactions[2].length];
        endBal += ttlDeposits;
    }
    if (transactions[1][i] == "withdrawal")
    {
        ttlWithdrawals += transactions[2][transactions[i]];
        endBal -= ttlWithdrawals;
    } 

    $("balStart").value = parseFloat(startBal);
    $("ttlDeposits").value = parseFloat(ttlDeposits);
    $("ttlWithdrawals").value = parseFloat(ttlWithdrawals);
    $("balEnd").value = parseFloat(endBal);

}  
window.onload = function () {
    $("add").onclick = add_transaction, calculate_balances;
    update_results();
}

ありがとうございました

4

1 に答える 1

1

編集:OPがjQueryを使用していないことに気づきませんでした。onclick は次のようになります。

$("add").onclick = function(){
    add_transaction();
    calculate_balances();
};

ここでの残りは、OPが望んでいたものではないjQuery用です。

jQuery でテキスト ボックスの値を設定するには、val() メソッドを使用します。

$("balStart").val(parseFloat(startBal));

ボタンがクリックされたときに 2 つのメソッドを呼び出すには:

$("add").click(function(){
   add_transaction();
   calculate_balances();
});
于 2013-03-04T21:00:00.530 に答える