- ベストアンサー
複数のセレクトから選択した文字をinputに表示する方法
- 複数のセレクトから選択した文字をinputに表示する方法について質問します。一つのセレクトでは問題なく実装できましたが、複数のセレクトでの実装方法がわかりません。どなたかご教授いただけないでしょうか?
- 複数のセレクトから選択した文字をinputに追加表示したいと考えています。一つのセレクトでは実装できたのですが、複数のセレクトでの実装方法がわかりません。どなたかわかる方がいらっしゃいましたら、ご教授願います。
- 複数のセレクトから選択した文字をinputに追加表示する方法を教えてください。一つのセレクトでは実装できましたが、複数のセレクトでの実装方法が分かりません。どなたかご教授いただけないでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こういうことではなく? <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>
その他の回答 (4)
- yamada_g
- ベストアンサー率68% (258/374)
No.1です。 なんかひどい回答ですね。変数に保持する必要がどこにあるんだ・・・ 頭わるすぎてお恥ずかしい
- yyr446
- ベストアンサー率65% (870/1330)
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>
補足
誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。
- nda23
- ベストアンサー率54% (777/1416)
考えるべき要素が複数あります。 (1)文字列の結合 これは+を使います。"A"+"B"→"AB" (2)タイミング 何時、追加するのでしょうか? 選択を変更した時?何かボタンをクリックした時? (3)結合の方法 select1が前、select2が後になるようにする? 間に何か区切り文字は入るのか? これが分からないと答えようがありません。
補足
誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。
- yamada_g
- ベストアンサー率68% (258/374)
簡易的なものですが・・・ <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属性を使えばいいです。
補足
誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。
お礼
素早い回答ありがとうございました。 確認したブラウザーの中一番動作したのでベストアンサーにさせていただきます。 ただIEの5.6.7で動かない様なので色々調べてみています。 ありがとうございました。
補足
誤って編集中に質問してしまいまして 編集できないようだったので困ったと思いながらちょっと放置してたら まさか回答をいただけるとは思ってもいませんでした。 ありがとうございます!! 早速試してみてみなさんにお礼をしたいと思います。