OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

複数選択ができません

  • 困ってます
  • 質問No.186279
  • 閲覧数43
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 93% (15/16)

multipleの練習をしていて、以下のように超簡易買い物オーダーフォームを作ったんですけど、単品での値段は出てくるのですが、複数選択をしたときに合計した金額が出てきません。アドバイスお願いします☆
<html>
<head>

<SCRIPT LANGUAGE ="JavaScript">
function keisan(){

var sum;
for (i=0;i<document.aaa.erabu.options.length;i++){

if(document.aaa.erabu.options[i].selected){
sum=document.aaa.erabu.options[i].value;
}
document.aaa.goukei.value=sum*document.aaa.kazu.value;

}

}</SCRIPT>

</head>
<body>
<h2>注文表</h2>
お好きな品をクリックしてください。複数品目を選択する際には、
Ctrlを押しながらクリックしてください。

<form name="aaa">
<select name="erabu"size="4"multiple>
<option selected value="65">ハンバーガー
<option value="80">チーズバーガー
<option value="150">ポテト
  <option value="100">ジュース
</select>
を<input name="kazu" value="1">セット<br>
注文の内容が決まりましたら[合計」ボタンを押してください。<br>
<input type="button" value="合計" onclick="keisan()"><input name="goukei">円
</form>
</body>
</html>
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル4

ベストアンサー率 50% (1/2)

実はvar sumがなくてもちゃんと動くんですよ。
どう違うのかというと・・。

var宣言を関数内で行うとローカル変数に、
var宣言を関数外で行うとグローバル変数に、
宣言なしだとどこで書いてもグローバル変数に、
となります。

さて、例えば

var y=3;
document.write(y);

ff();

document.write(y);

function ff(){
var y=2;
document.write(y);
}

は、「323」と表示されます。
お分かり頂けましたでしょうか?
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル8

ベストアンサー率 41% (14/34)

下記のページの「1. 複数選択リストの値を返す」が質問内容にぴったりだと思います。参考にしてください。 ...続きを読む
下記のページの「1. 複数選択リストの値を返す」が質問内容にぴったりだと思います。参考にしてください。
お礼コメント
tomo-nao

お礼率 93% (15/16)

ありがとうございます☆さっそく参考にしてがんばってみますね(^^)
投稿日時 - 2001-12-19 12:56:47


  • 回答No.2
レベル4

ベストアンサー率 50% (1/2)

スクリプトの内容を以下のようにして下さい。 これで大丈夫だと思います。 <SCRIPT LANGUAGE ="JavaScript"> function keisan(){ var sum; sum=0; for (i=0;i<document.aaa.erabu.options.length;i++){ if(docum ...続きを読む
スクリプトの内容を以下のようにして下さい。
これで大丈夫だと思います。

<SCRIPT LANGUAGE ="JavaScript">
function keisan(){
var sum;
sum=0;
for (i=0;i<document.aaa.erabu.options.length;i++){
if(document.aaa.erabu.options[i].selected){
sum+=Number(document.aaa.erabu.options[i].value);
}
document.aaa.goukei.value=sum*document.aaa.kazu.value;
}
}
</SCRIPT>
お礼コメント
tomo-nao

お礼率 93% (15/16)

ありがとうございました☆ばっちり動きましたよ~~!もう一つ質問いいですか?
iって変数ですよねぇ?sumみたいにvar iってやらなくてもいいんですか?
投稿日時 - 2001-12-19 12:59:22
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ