1

JavaScript 割り当ての一部で問題が発生しています。以下に示すように、要素を含む配列と要素を含まない配列の 2 つの配列を使用します。配列が機能するために必要なすべてのコードを含めたので、詳細について不明なままになることはありません。説明しながら説明します。

以下に 2 つの配列を示します。配列「トッピング」には、後でリスト ボックスにも表示される要素が入力されます。その下の配列 'selectedToppings' は、ユーザーがリスト ボックスから選択した要素を保持する空の配列です。

var toppings = [ "Sausage" , "Pepperoni" , "Extra Cheese" , "Onions" ,
"Black Olives" , "Anchovies" , "Pineapple" , "Canadian Bacon" , "Ground Beef" ];

var selectedToppings = [];

以下の関数は、プログラムの出力です。最初に書いたときは、関数呼び出しが正しくなかったため、何も表示されませんでした。私が最近行っていることは、各関数呼び出しの後にセミコロンを置き、次の関数に進む前に適切な関数が正しく機能していることを確認することです. 今、私は ToppingsWanted() 関数に行き詰まっています。"Amount due:" の後にセミコロンがあることに気付くでしょう。これは、前に言及したセミコロンです。関数 amount() と Size() が完全に機能するため、関数呼び出しが正しいと確信しています。

function thankYou()
{
document.pizzaForm.OrderText.value="Thank you for your order from BHC Pizza!\nYou have
ordered " + quantity() + " " + Size() + " pizza(s) with\n" + ToppingsWanted() +
"AmountDue "; 
}

以下に示す ToppingsWanted() 関数は、私を悲しませているものです。私はそれを機能させるために多くの方法を試しましたが、何も起こりません。このサイトにアクセスし、w3c 学校をチェックしましたが、これを機能させる方法についての回答が見つかりませんでした。現時点では、JavaScript 配列について十分に理解していないため、ここで何が問題なのかを知ることができません。必要なことは次のとおりです: ユーザーが前述のリスト ボックスからトッピングを選択すると (関数の下にコードを示します)、適切な要素が toppings 配列から取得され、selectedToppings 配列に入れられ、関数呼び出しが次のようになります。 selectedToppings 配列の各要素をそれぞれの行に表示します。Dreamweaver によると構文エラーはありませんが、論理エラーがあるかどうかはわかりません。ヘルプ?

function ToppingsWanted()
{
for (var i=0; i<10; i++);
{
    if (document.pizzaForm.lstIngredients.toppings[i].selected==true)
        selectedToppings.push[i];
}
var TopsSelect=selectedToppings.join("\n");
return TopsSelect;
}

<select name="lstIngredients" size="9" multiple="multiple">
        <option id="toppings[0]" value="1.00">Sausage</option>
        <option id="toppings[1]" value="1.00">Pepperoni</option>
        <option id="toppings[2]" value="1.00">Extra Cheese</option>
        <option id="toppings[3]" value="1.00">Onions</option>
        <option id="toppings[4]" value="1.00">Black Olives</option>
        <option id="toppings[5]" value="1.00">Anchovies</option>
        <option id="toppings[6]" value="1.00">Pineapple</option>
        <option id="toppings[7]" value="1.00">Canadian Bacon</option>
        <option id="toppings[8]" value="1.00">Ground Beef</option>
    </select>
4

1 に答える 1