• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptについての質問です。複数の一つのselect等で選)

複数のセレクトから選択した文字をinputに表示する方法

このQ&Aのポイント
  • 複数のセレクトから選択した文字をinputに表示する方法について質問します。一つのセレクトでは問題なく実装できましたが、複数のセレクトでの実装方法がわかりません。どなたかご教授いただけないでしょうか?
  • 複数のセレクトから選択した文字をinputに追加表示したいと考えています。一つのセレクトでは実装できたのですが、複数のセレクトでの実装方法がわかりません。どなたかわかる方がいらっしゃいましたら、ご教授願います。
  • 複数のセレクトから選択した文字をinputに追加表示する方法を教えてください。一つのセレクトでは実装できましたが、複数のセレクトでの実装方法が分かりません。どなたかご教授いただけないでしょうか?

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

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

こういうことではなく? <script> function changeFunc(f){ f.elements["text1"].value=f.elements["select1"].value+f.elements["select2"].value; } </script> <FORM> <SELECT NAME="select1" onchange="changeFunc(this.form)"> <OPTION VALUE=""></OPTION> <OPTION VALUE=" a">a</OPTION> <OPTION VALUE=" b">b</OPTION> <OPTION VALUE=" c">c</OPTION> </SELECT> <SELECT NAME="select2" onchange="changeFunc(this.form)"> <OPTION VALUE=""></OPTION> <OPTION VALUE=" 壱">壱</OPTION> <OPTION VALUE=" 弐">弐</OPTION> <OPTION VALUE=" 参">参</OPTION> </SELECT> <input TYPE="text" NAME="text1" VALUE=""> </FORM>

mooooooooooooon
質問者

お礼

素早い回答ありがとうございました。 確認したブラウザーの中一番動作したのでベストアンサーにさせていただきます。 ただIEの5.6.7で動かない様なので色々調べてみています。 ありがとうございました。

mooooooooooooon
質問者

補足

誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。

その他の回答 (4)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.5

No.1です。 なんかひどい回答ですね。変数に保持する必要がどこにあるんだ・・・ 頭わるすぎてお恥ずかしい

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

No.3様のおっしゃるとおりです。 さらに言えば、先にテキストボックスに入力した文字は 無視していいのか、あるいは前に挿入するのか、とか... タイミングがよくわかりません。SELECTが選択される度に 書き換えるのも、出来なくはないですが、むしろフォーム がサブミットされるタイミングで、連結しなおした方が 簡単だと思います。(目的がちがってたらあれですけど..) <FORM onsubmit="add_sel_value(this)"> <SELECT NAME="select1"> <OPTION VALUE=""></OPTION> <OPTION VALUE=" a">a</OPTION> <OPTION VALUE=" b">b</OPTION> <OPTION VALUE=" c"c</OPTION> </SELECT> <SELECT NAME="select2"> <OPTION VALUE=""></OPTION> <OPTION VALUE=" 壱">壱</OPTION> <OPTION VALUE=" 弐">弐</OPTION> <OPTION VALUE=" 参">参</OPTION> </SELECT> <input TYPE="text" NAME="text1" VALUE=""> </FORM> <script type="text/javascript"> function add_sel_value(f){ f.text1.value=f.select1.value + f.select2.value+ f.text1.value; return true; } </script>

mooooooooooooon
質問者

補足

誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.3

考えるべき要素が複数あります。 (1)文字列の結合  これは+を使います。"A"+"B"→"AB" (2)タイミング  何時、追加するのでしょうか?  選択を変更した時?何かボタンをクリックした時? (3)結合の方法  select1が前、select2が後になるようにする?  間に何か区切り文字は入るのか? これが分からないと答えようがありません。

mooooooooooooon
質問者

補足

誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

簡易的なものですが・・・ <script type="text/javascript"> var value1 = ''; var value2 = ''; function setText(obj) { var selectValue = obj.value; if (obj.name === 'select1') { value1 = selectValue; } else if (obj.name === 'select2') { value2 = selectValue; } document.forms[0].text1.value = value1 + value2; } </script> <FORM> <SELECT NAME="select1" onchange="setText(this)"> 中略 </SELECT> <SELECT NAME="select2" onchange="setText(this)"> 中略 </SELECT> <input TYPE="text" NAME="text1" VALUE=""> </FORM> とか。 >一つのセレクトは一つしか選択できなくなればなお良いのですが・・・ の意味がちょっと分からなかったのですが。 1回選択したらもう変えられないようにするということでしょうか? もしそうであれば、disabled属性を使えばいいです。

mooooooooooooon
質問者

補足

誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。

関連するQ&A