1

2つの異なる関数内の変数から合計値を作成する別個の関数を作成できる必要があります。

    function addToy1()
{
var i = document.getElementById("qty_toy1");
var qtytoy1 = i.options[i.selectedIndex].text;
var qtytoy1tot = qtytoy1 * 26.99;
var generateTableToy1="<table width=\"210px\" border=\"0\">"
                    +"  <tr>"
                    +"    <td width=\"140\">Optimus Prime</td>"
                    +"    <td width=\"25\">x " + qtytoy1 + "</td>"
                    +"    <td width=\"45\">&pound;" + qtytoy1tot + "</td>"
                    +"  </tr>"
                    +"</table>";

document.getElementById("toy1_add").innerHTML=generateTableToy1;

}

function addToy2()
{
var i = document.getElementById("qty_toy2");
var qtytoy2 = i.options[i.selectedIndex].text;
var qtytoy2tot = qtytoy2 * 14.39;
var generateTableToy2="<table width=\"210px\" border=\"0\">"
                    +"  <tr>"
                    +"    <td width=\"140\">Bumblebee</td>"
                    +"    <td width=\"25\">x " + qtytoy2 + "</td>"
                    +"    <td width=\"45\">&pound;" + qtytoy2tot + "</td>"
                    +"  </tr>"
                    +"</table>";

document.getElementById("toy2_add").innerHTML=generateTableToy2;


}

このコードでは、変数「qtytoy1tot」と「qtytoy2tot」の両方の合計を作成する必要があります。私はJavascriptを初めて使用します。できる限り助けてください。ありがとう。

4

1 に答える 1

0

ここにはいくつかのオプションがあります。最も簡単なのは、Amit がコメントで提案したように、各メソッドから合計を返すだけです。これらの方法をどのように使用するかによって、これが機能する場合と機能しない場合があります。次のようなものが目的に合うはずです。

function ToyBox() {
    this.total = 0;
}

ToyBox.prototype.addToy1 = function() {
    var i = document.getElementById("qty_toy1");
    var qtytoy1 = i.options[i.selectedIndex].text;
    var qtytoy1tot = qtytoy1 * 26.99;
    this.total += qtytoy1tot;
    var generateTableToy1="<table width=\"210px\" border=\"0\">"
                        +"  <tr>"
                        +"    <td width=\"140\">Optimus Prime</td>"
                        +"    <td width=\"25\">x " + qtytoy1 + "</td>"
                        +"    <td width=\"45\">&pound;" + qtytoy1tot + "</td>"
                        +"  </tr>"
                        +"</table>";

    document.getElementById("toy1_add").innerHTML=generateTableToy1;
        };

ToyBox.prototype.addToy2 = function() {
    var i = document.getElementById("qty_toy2");
    var qtytoy2 = i.options[i.selectedIndex].text;
    var qtytoy2tot = qtytoy2 * 14.39;
    this.total += qtytoy2tot;
    var generateTableToy2="<table width=\"210px\" border=\"0\">"
                        +"  <tr>"
                        +"    <td width=\"140\">Bumblebee</td>"
                        +"    <td width=\"25\">x " + qtytoy2 + "</td>"
                        +"    <td width=\"45\">&pound;" + qtytoy2tot + "</td>"
                        +"  </tr>"
                        +"</table>";

    document.getElementById("toy2_add").innerHTML=generateTableToy2;
};

var toyBox = new ToyBox();
toyBox.addToy1();
toyBox.addToy2();
console.log(toyBox.total);

ここには実際には1つの関数しかなく、変数部分をパラメーターとして関数に渡す必要がありますが、それはこの質問の範囲を超えている可能性があることに注意してください。

于 2012-04-05T02:59:23.847 に答える