2012-04-05 14 views
1

2つの異なる関数内の変数から合計フィギュアを作成する別個の関数を作成する必要があります。私は両方の変数「qtytoy1tot」と「qtytoy2tot」の合計を作る必要があり、このコードで異なる関数から合計を集計する - Javascript

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; 


} 

。私はJavascriptを初めて使っています。できるところで手伝ってください。ありがとう。

+1

@Whymarrh私は誠実に興味がありますが、 'function addToyX(){}'の問題は何ですか? –

+1

それぞれの機能から「qtytoy1tot」と「qtytoy2tot」を返すことができます。 –

+0

@Whymarrhあなたが聞いたことに基づいているだけで、経験から発言していない場合、ベストプラクティスであるかのように、徹底した発言をしないようにしてください。両者の違いについて学ぶことに興味がある場合は、この質問のコメントと回答をご覧ください。http://stackoverflow.com/questions/336859/javascript-var-functionname-function-vs -function-functionname –

答えて

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); 

は覚えておいてください、あなたは本当にちょうどここに一つの機能を持っていて、関数のパラメータとして変数の部分に渡す必要がありますが、私はこの質問の範囲を超えてかもしれないと思います。

関連する問題