- ベストアンサー
セレクトボックスの組み合わせで見積もり結果を変えたい
- 見積もり計算フォームを作成中で困っています。二つのセレクトボックスを選択することで、テキストエリアに数字を表示したいです。
- 足し算・掛け算はできますが、ifや配列を使った場合にうまく動作しません。
- セレクトボックス1の選択肢はA、B、Cで、セレクトボックス2の選択肢はD、E、F、Gです。組み合わせによって以下の見積もり結果が得られます。
- みんなの回答 (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>
お礼
素早い回答有難うございました!お陰様で今日、見積もりページが完成しました! 本当に助かりました~(>o<)