プロが教える店舗&オフィスのセキュリティ対策術

ただ今見積もり計算フォームを作っているところで、大変困っています。どなたか助けていただけせんか。

二つのセレクトボックスを選択する事によって、テキストエリアに数字が出るようにしたいです。

ただの足し算・掛け算なら計算が出来るのですが、ifや配列を使用すると上手く出来なくて詰まっております。


概要

セレクトボックス1の内容:A,B,C
セレクトボックス2の内容:D,E,F,G

見積もり結果
AとDの場合=950
AとEの場合=1400
AとFの場合=1850
AとGの場合=2500

BとDの場合=1200
BとEの場合=1850
BとFの場合=2400
BとGの場合=2800

CとDの場合=2300
CとEの場合=2500
CとFの場合=2800
CとGの場合=3200


よろしくお願いします!

A 回答 (1件)

法則性がないなら全ての組合せを定義しておく必要がありますね



<script>
function check(f){
var arr={
"A":{"D":950,"E":1400,"F":1850,"G":2500}
,"B":{"D":1200,"E":1850,"F":2400,"G":2800}
,"C":{"D":2300,"E":2500,"F":2800,"G":3200}
};
var x=f.elements["x"].value;
var y=f.elements["y"].value;
f.elements["z"].value=(arr[x] && arr[x][y])?arr[x][y]:"";
}
</script>

<form>
<select name="x" onchange="check(this.form);">
<option value="">--</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
<select name="y" onchange="check(this.form);">
<option value="">--</option>
<option value="D">D</option>
<option value="E">E</option>
<option value="F">F</option>
<option value="G">G</option>
</select>
<textarea name="z"></textarea>
</form>
    • good
    • 0
この回答へのお礼

素早い回答有難うございました!お陰様で今日、見積もりページが完成しました!

本当に助かりました~(>o<)

お礼日時:2011/09/02 02:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!