• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セレクトメニューの選択項目変更で入力した値を変更する。)

セレクトメニューで値を変更する方法について

このQ&Aのポイント
  • セレクトメニューの選択項目を変更することで、入力した値を変更する方法について質問です。
  • セレクトメニューの選択項目によって、計算式内での値の代入位置を変更したい場合についても相談です。
  • 初心者ですので、具体的な例文を教えていただくことで理解したいので、どうぞよろしくお願いします。

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

  • ベストアンサー
noname#84373
noname#84373
回答No.3

<html><body> <select id="num" onChange="chg()"> <option value="a">a</option><option value="b">b</option> </select> <select id="prc"> <option value="100">cha</option><option value="200">twn</option> </select> <script> function chg(){ if( event.srcElement.value =="b" ){ setVal($('prc').options[0],'jpn',1000); setVal($('prc').options[1],'usa', 500); } if( event.srcElement.value =="a" ){ setVal($('prc').options[0],'cha',100); setVal($('prc').options[1],'twn',200); } } function $(n){ return document.getElementById(n);} function setVal(o,d,v){ o.innerHTML=d;o.value=v;} </script> 第一セレクトメニューの値によって、第二セレクトメニューを 動的に変化させるには? </body></html>

Cronus2
質問者

お礼

度々ありがとうございます。 なるほど、納得できました。 こうすれば第二セレクトで値を切り分けて 取得できるんですね。 思いっきり初歩的な勘違いして考えていました。(-_-;) 本当に助かりました。 ありがとうございました。

その他の回答 (2)

noname#84373
noname#84373
回答No.2

<html><body> <select name="ahaha" id="num"> <option value="1">1</option> <option value="10">10</option> <option value="100">100</option> </select> <input type="button" value="Aに代入" onClick="document.getElementById('dta').value = document.getElementById('num').value;"; > <input type="button" value="Bに代入" onClick="document.getElementById('dtb').value = document.getElementById('num').value;"; > <br> A=<input type="text" id="dta"> B=<input type="text" id="dtb"> <br> <select name="ahaha" id="siki"> <option value="1">(A*2)+(2/B)</option> <option value="2">(a*2)+10</option> <option value="3">(b*2)+10</option> </select> <input type="button" value="計算" onClick=" var a = document.getElementById('dta').value; var b = document.getElementById('dtb').value; var ans = 0; switch( document.getElementById('siki').value ){ case '1': if(b==0) {alert( 'Error!' ); return; } ans = (a*2)+(2/b); break; case '2': ans = (a*2)+10; break; case '3': ans = (b*2)+10; break; } document.getElementById('kotae').value = ans; "> 答え<input type="text" id="kotae"> </body></html> これって問題を理解する方が難しいかも!? これを望んでいるとは思わないし、何がどうだか・・・ でっ!どぉ?

Cronus2
質問者

補足

あぁ、解りにくい説明だったみたいですね^ ^; すいません。 例えばハンバーガー1個のコストを計算するのに1個当たりの食材、 人件費、設備費、雑費を決まった計算式に沿って求めたいんです。 食材はトマト(国産・中国産)、牛肉(国産・豪産)、タマネギ等とあり、産地・価格で異なり多岐にわたり、1個当たりの価格は変動します。 なので、まず第一のセレクトメニューで計算したい食材等の項目を選んで連動した第二のセレクト・テキストメニューで価格を入力。 商品によって使う食材の種類も数も変わり、1食材毎に価格入力可能に。 同様に人件費・設備費その他も同じ方式で入力して、合算して最終的に は1商品のコストを表示したいと思っています。 今一番、どうすればいいか分からないのが第一のセレクトメニュー選択で第二のセレクト・テキストメニュー入力を連動させるかです。 その第一セレクトメニューの選択項目によって代入位置が異なるので・・・。 そこだけでやり方が解れば、あとはなんとかなりそうなんですが。 よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

javascriptはともかくselectメニューくらいは例示してみては? いまのままだと何をどうしたいのかさっぱり・・・

Cronus2
質問者

補足

あぁ、解りにくい説明だったみたいですね^ ^; すいません。