1

これがこれの正しいタイトルかどうかわからないので、そうでない場合は申し訳ありません。しかし、私がやろうとしているのはこれです。製品名、価格、数量を格納する配列を用意します。HTML のドロップダウン ボックスを使用して入力された複数の製品の場合。現在、私はこれを持っています。

var cart = new Object();

function main(uValue)
{
    //Get the value from the drop down
    var value = uValue.value;
    //Add on to the page the new value
    printOnPage(value);
    //Add 
    cart = addItem(value);
    printOnPage(cart);

}

function addItem(input)
{
    //cart.push(input);
    //return cart;

    //look up id in assoc. array
    //cart.numInCart++;
    cart.Amount = input;
    return cart;
}
function removeItem()
{
    cart.splice(1,1);
    return cart;
}

function printOnPage(input)
{
    var para = document.createElement("p");
    var paymentDiv = document.getElementById("payment");
    paymentDiv.appendChild(para);
    var txt = document.createTextNode(input);
    para.appendChild(txt);
}

そして、これはこれに関連する HTML です。

<div class="item">
                <p>Faster than light car</p>
                <img src="i/toycar.jpg" width="85%" height="85%" alt="ToyCar" title="#WickCar">
                <p>Cost: £10 per item</p>

                <form name="form1" method="POST">
                    <select name="values" onchange="main(this)" >
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        <option value="8">8</option>
                        <option value="9">9</option>
                    </select>
                </form>
            </div>

いくつか質問があります。1) 私はこれを正しい方法で行っていますか? 2) 配列の内容を表示したいときに [object Object] を取得するのはなぜですか? ここに画像の説明を入力

これを行うより良い方法はありますか?

ありがとう、誰かが私にこれを教えてくれることを願っています。

4

1 に答える 1

2

printOnPage(cart);に変更printOnPage(cart.Amount);

cartカート内のキーの値の1つではなく、オブジェクトであるを出力しようとしているようです。

于 2012-04-29T15:03:10.613 に答える