0

この単純なショッピング カートを作成しました。ドロップダウン リストから数量を選択すると、これらの数値が追加され、すべての製品の合計数と製品自体の合計数が得られます。

しかし、価格と名前で数量を書き、サイトに配置されたdivに書き込んで、ユーザーが製品を追加したことが簡単にわかるようにしてほしい. 配列はしていないので、積を一つずつ足し合わせて計算部分を作りました。しかし、この次の部分では、自分のニーズに合った方法が見つかりませんでした. これは私のテストページからのものなので、いくつかの値しかありませんが、他のページには次のように70以上がリストされています:

<div id="radioAlert">
<script type="text/javascript">
//calculator
function updatesum() {
document.form.sum.value =
(document.form.sum0.value -0) *99 +
(document.form.sum1.value -0) *99 +
(document.form.sum2.value -0) *99;

document.form.smu.value =
(document.form.prod0.value -0)*99  +
(document.form.prod1.value -0) *99 +
(document.form.prod2.value -0) *99 +
(document.form.prod3.value -0) *99 +
(document.form.prod4.value -0) *99;
document.form.totalsum.value =
(document.form.sum.value -0) +
(document.form.smu.value -0); //not a typo i was just lazy with the name

//arrays

//This one i did not get to work.
var myArray = newArray();
myArray[0]=document.form.sum2.value;
myArray[1]=document.form.prod0.value;
myArray[2]=document.form.prod1.value;
myArray[3]=document.form.prod2.value;
myArray[4]=document.form.prod3.value;
myArray[5]=document.form.prod4.value;

for (var i = 0; i < myArray.length; i++) {
        alert(myArray[i]);
}


//this part works but i want it to add its value only once and then replace its value if its updated again, if its 0 i want it to be completely removed.

var prod1 = document.form.sum2.value;
var prod2 = document.form.sum1.value;

var radioAlert = document.getElementById("radioAlert");
var radioAlert2 = document.getElementById("radioAlert"); 

if  (document.form.sum2.value>0) {
//document.write("pilotjakke pelsforet small  " +   prod1 + "  stk");
radioAlert.innerHTML += ("pilotjakke pelsforet small  " +   prod1 + "  stk");
alert("pilotjakke pelsforet medium  " +   prod1 + "  stk");
}

if  (document.form.sum1.value>0) {
//document.write("pilotjakke pelsforet small  " +   prod1 + "  stk");
radioAlert2.innerHTML += ("pilotjakke pelsforet medium  " +   prod2 + "  stk");

}
}
</script>
</div>

4

1 に答える 1

1

newArrayデフォルトでは、JavaScript には関数がありません。

変化する

var myArray = newArray();

var myArray = [];

また

var myArray = new Array();
// Note space ---^

一般に、使用する形式[]が好まれます。より簡潔であることに加えて、誰かがArrayコンストラクター関数を再定義しても影響を受けません。

必要に応じて、要素を使用して配列を初期化することもできます。

var myArray = [
    document.form.sum2.value,
    document.form.prod0.value,
    document.form.prod1.value,
    document.form.prod2.value,
    document.form.prod3.value,
    document.form.prod4.value
];
于 2013-01-18T13:19:09.500 に答える