- ベストアンサー
テキストエリアの文字列を切り替えたい
リストボックスで選択した値によって、テキストエリアの文字列を切り替えたいのですが、いい方法はありますでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
いろいろ考えられますがだいたいこんな感じでしょう <script> function changeFunc(obj){ var v=obj.options[obj.selectedIndex].value; var msg={0:"",1:"text1の説明です",2:"text2の説明だよ",3:"text3の説明である"}; document.getElementById("text").value=msg[v]; } </script> <form> <p> <select name="category" onchange="changeFunc(this)"> <option value="0">選択して</option> <option value="1">text1</option> <option value="2">text2</option> <option value="3">text3</option> </select> <textarea name="text" id="text" cols="60" rows="10"></textarea> </p> </div>
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
>テキストエリアに入れ込むテキストをCSSで装飾 テキストエリア内のテキストをCSSで細かく装飾すること難しいですね もしそのような要望がある場合は、テキストエリアではなく divなどで処理した方がよいかもしれません。
- youser
- ベストアンサー率43% (123/286)
単純にリストボックスの設定されている列を、セルの値で参照して、IF分岐で、文字列を挿入すればいい。 マクロなら ElseIF か Select Case でいくらでも参照条件の数を設定可能。
お礼
どうもありがとうございました
- yambejp
- ベストアンサー率51% (3827/7415)
もすこし具体的に
補足
ご回答ありがとうございます。 <select name="category" > <option value="1">text1</option> <option value="2">text2</option> <option value="3">text3</option> </select> <textarea name="text" id="text" cols="60" rows="10></textarea> html上で、上記のようなリストボックスとテキストエリアを用意して、text1を選択した場合にテキストエリアに「text1の説明文」、text2を選択した場合にテキストエリアに「text2の説明文」といった切替ができるようにしたいとおもっています。
お礼
この度はありがとうございました。
補足
ご回答ありがとうございます! 早速試してみましたが、動作を確認できました。ありがとうございます。 ちなみに、テキストエリアに入れ込むテキストをCSSで装飾することは可能でしょうか。