プルダウンの背景色の変更方法

このQ&Aのポイント
  • プルダウンの背景色を変更する方法について教えてください。
  • プルダウンの初期表示時に特定の色を選択する方法を教えていただけませんか?
  • プルダウンの選択された色をスタイルに反映させる方法を教えてください。
回答を見る
  • ベストアンサー

プルダウン 背景色の変更

お世話になっております。 以前こちらで質問させていただき、またつまずいたので質問させてください。 何度も申し訳ございません。 現在、 <script type="text/javascript"> <!-- var bc = ["#FF0000","#00FF00","#0000FF","#FFFFFF"]; function chBackGround(e) { e.style.backgroundColor=bc[e.selectedIndex]; } window.onload = function() { document.getElementById('key').style.backgroundColor=bc[0]; } // --> </script> ------------------------------------------------------------ html部分 <select id="key" name="key" onChange="chBackGround(this)"> <option style="background-color: #FF0000;">サンプル0</option> <option style="background-color: #00FF00;">サンプル1</option> <option style="background-color: #0000FF;">サンプル2</option> <option style="background-color: #FFFFFF;">サンプル3</option> </select> としており、プルダウンで選ばれたカラーのスタイルを<select>タグに埋め込んでおります。 上記だと、この画面を初期表示時、<select>部分に読み込まれるプルダウンの色が、必ずbc[0](サンプル0の色)になります。 例えば、サンプル2のoptionにselectedが記載されていた場合、画面の初期表示はbc[2](サンプル2の色)にしたいのですが、この方法をご教授いただけませんでしょうか。 お忙しいところ申し訳ございません。 どうぞ宜しくお願いいたします。

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

スクリプト部分を次のように。 function chBackGround(e){ e.style.backgroundColor= e.options[e.selectedIndex].style.backgroundColor; } window.onload = function() { chBackGround(document.getElementById('key')); }

masa_to
質問者

お礼

早速のご回答ありがとうございます!! 思っていたとおりの動きになりました。 感謝感謝です。 ありがとうございましたm(__)m

関連するQ&A

  • プルダウンリストの背景色の指定

    お世話になります。 現在作成しているwebページがあり、下記のようにプルダウンリストの背景色を設定しております。 <select> <option style="background-color: #FF0000;">サンプル1</option> <option style="background-color: #00FF00;">サンプル2</option> <option style="background-color: #0000FF;">サンプル3</option> <option style="background-color: #FFFFFF;">サンプル4</option> </select> このページにおきまして、サンプル3を選択したときに、プルダウンリストに「サンプル3」と表示され、背景色が#0000FFになるようにしたいのですが、 上記のままだと、IEでは背景色も変化しますが、firefoxですとプルダウンリスト内に「サンプル3」と表示されても背景色は白のままです。 IEとおなじ動きになるようにするには、どうしたらよいでしょうか。 ちなみに、 <select style="background-color: #FF0000"> にすると、IE、firefoxともにプルダウンリストの背景色が変更できたので、javascriptでoptionのvalueをとり、それをselectのstyleに設定できれば。。。 と考えたのですが、javascriptはほぼ無知なので、上記の方法でも解決できずでした。 簡単に解決できる方法などございますでしょうか。 もしくは、javascriptで解決できますでしょうか。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • プルダウンメニューの背景色を1行ごとに変えたいです

    CSSで option.bk_y {background-color:#000000; color: #FFFF00;} option.bu_r {background-color:#0000FF; color: #FF0000;} などとして classで指定するとPCでは実現しますが携帯では反応せず <option value="黒/白" STYLE="background-color:#000000;color:FFFFFF;">黒/白 と記述しても携帯では反応しません。 携帯ではプルダウンメニューの背景色を1行ごとに変える事は無理ですか? 代わりの方法としてプルダウンメニューに画像をはめ込むとか…あればご教示お願い致します。

    • ベストアンサー
    • HTML
  • プルダウンのコントロールに関して

    プルダウンのコントロールに関して 教えて下さい。 今、以下のようなソースを記述し、プルダウン選択で"休み"が選択された場合のみ。 テキスト入力欄を表示させるような仕組みを作成しました。 但し、この場合、Cookie等を使ってデフォルトで前回値を"休み"と選択した場合は 他のものを選択し、さらにもう1度"休み"を選択しないと表示されないかと思われます。 上記のように前回値で立ち上げた際に、既に"休み"が選択された場合でも、切り替えを 行う事なくテキスト入力欄を表示させるような事は可能なのでしょうか??? わかりにくい内容で申し訳ありません。 よろしくお願いします。 <script type="text/javascript"> function ChangeSelection(form, selection) { var text_note = form.elements["text_note"]; if (selection.value=="休み" || selection.value=="出張") { text_note.style.display = "block"; }else{ text_note.style.display = "none"; } } </script> </head> <body> <FORM NAME="fm_a" ACTION="koudou_update2.php" METHOD="POST"> <TD NOWRAP SIZE="30"><input name="text_note" style="width:100%;display:none;" VALUE="$out_goto"></input></TD> <TD><select name="am_note" ONCHANGE="ChangeSelection(this.form, this)" style="width:145px;"> <option value=""></option> <option value="自席" style="background-color:#FFFFFF; color:#3366FF" $sqlline1>自席</option> <option value="離席" style="background-color:#3366FF; color:#FFFFFF" $sqlline2>離席</option> <option value="帰宅" style="background-color:#FFFFFF; color:#3366FF" $sqlline3>帰宅</option> <option value="午前休暇" style="background-color:#3366FF; color:#FFFFFF" $sqlline4>午前休暇</option> <option value="午後休暇" style="background-color:#FFFFFF; color:#3366FF" $sqlline5>午後休暇</option> <option value="休み" style="background-color:#3366FF; color:#FFFFFF" $sqlline5>休み</option> <option value="出張" style="background-color:#3366FF; color:#FFFFFF" $sqlline13>出張</option> </select></TD> </FORM> </body> </html>

  • IE6でプルダウンメニューをクリックするとその時に色が変わるようにして

    IE6でプルダウンメニューをクリックするとその時に色が変わるようにしていたのですが、 IE8でプルダウンメニューをクリックするとすぐに閉じてしまいます。 2回目のクリックでメニューが表示されます。 これはIEのバグなのでしょうか? また、他に良い方法あるのでしょうか? 以下がサンプルソースです。 <HTML> <HEAD> <TITLE>サンプル1</TITLE> </HEAD> <BODY> <CENTER> <FORM name="testForm"> <SELECT onFocus="style.backgroundColor='yellow'" onblur="style.backgroundColor='white'"> <OPTION>white</OPTION> <OPTION>red</OPTION> <OPTION>green</OPTION> <OPTION>blue</OPTION> </SELECT> </FORM> </CENTER> </BODY> </HTML>

  • テキストのデフォルト非表示に関して

    テキストのデフォルト非表示に関して 以下のように、プルダウンの選択によってテキストの表示、非表示をjavascriptを使って コントロールしようとしていまいすが、そもそもデフォルトでテキストを非表示にしたい場合は どのように記述すれば良いでしょうか。。。 初歩的な質問で申し訳ありません。 よろしくお願いします。 《内容》 <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> function ChangeSelection(form, selection) { if (selection.value=="休み") { document.getElementById("text_note").style.display = "block"; }else if (selection.value=="出張") { document.getElementById("text_note").style.display = "block"; }else { document.getElementById("text_note").style.display = "none"; } } </SCRIPT> </HEAD> <BODY> <FORM NAME="fm_a" ACTION="koudou_update2.php" METHOD="POST"> <TD NOWRAP SIZE="30"><input name="text_note" style="width:100%" VALUE=$out_goto></input></TD> <TD><select name="am_note" ONCHANGE="ChangeSelection(this.form, this)" style="width:145px;"> <option value=""></option> <option value="自席" style="background-color:#FFFFFF; color:#3366FF" $sqlline1>自席</option> <option value="離席" style="background-color:#3366FF; color:#FFFFFF" $sqlline2>離席</option> <option value="帰宅" style="background-color:#FFFFFF; color:#3366FF" $sqlline3>帰宅</option> <option value="午前休暇" style="background-color:#3366FF; color:#FFFFFF" $sqlline4>午前休暇</option> <option value="午後休暇" style="background-color:#FFFFFF; color:#3366FF" $sqlline5>午後休暇</option> <option value="休み" style="background-color:#3366FF; color:#FFFFFF" $sqlline5>休み</option> <option value="出張" style="background-color:#3366FF; color:#FFFFFF" $sqlline13>出張</option> </select></TD> </FORM> </BODY>

  • プルダウンメニューのボタンの色を変えるには?

    自分のHPにプルダウンメニューにて曲を選択し、BGMが流れるようにしています。曲を流すことには、著作権等を含め問題ありません。 HPは、白と青を基調とした爽やかな感じにするため、スクロールバーも、バー自体は白、バーの枠とボタンの三角印のみ青に変更しています。 しかし、プルダウンメニューのボタンは通常のグレーに黒の三角です。 コレの色を変える方法、ありますか? タグはまずスクロールバーの色変更は、 <style type=text/css> <!-- body{ scrollbar-face-color:FFFFFF; scrollbar-highlight-color:FFFFFF; scrollbar-shadow-color:3333FF; scrollbar-3dlight-color:3333FF; scrollbar-arrow-color:3333FF; scrollbar-track-color:FFFFFF; scrollbar-darkshadow-color:FFFFFF; } --> </STYLE> 曲を流すタグは、 <SCRIPT language="JavaScript"><!-- function myGo(){ mySelect = document.myForm.myMenu.selectedIndex; if (mySelect == 0) return; myHTML = "bgm.html"; // myTitle = document.myForm.myMenu.options[mySelect].text; myFile = document.myForm.myMenu.options[mySelect].value; myURL = myHTML+"?title="+escape(myTitle)+"&file="+escape(myFile); window.open(myURL , "bgm" , "width=210,height=160"); } // --></SCRIPT> プルダウンメニューを置く場所に <FORM name="myForm"> <SELECT name="myMenu" size="1" onchange="myGo()"> <OPTION value="">BGM</OPTION> <OPTION value="song1.mp3">1曲目</OPTION> <OPTION value="song2.mp3">2曲目</OPTION> <OPTION value="song3.mp3">3曲目</OPTION> </SELECT> </FORM> としています。 ご存知の方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • フォームのスタイルについて教えてください

    プルダウンメニューを書いていて、色を変えたくなったんですが上手くいきません。 フォントとバックカラーの色は変えられるのですが、▼のある部分はどう記述すれば いいのでしょうか??? 教えてください。 (スタイルシートでフォームを定義しています) <style type="text/css"> <!-- INPUT { background: #FFFFFF; color: BLUE;} SELECT { background: #FFFFFF; color: BLUE;} -->                          ↑ここに何を記述すればいいのでしょうか? </style>

    • ベストアンサー
    • HTML
  • テキストエリアの入力に関して

    テキストエリアの入力に関して 教えて下さい。 部分的な抜粋で申し訳ありませんが、以下のようにテキストエリアをダブルクリックで 時間を表示させるような"javascript"を記述しましたが、その際に、テキストにカーソル を合わせても、そもそもの入力できなくなってしまいました。 エリアは表示されるものの、カーソルを合わせても入力モードに変わらない。。 《内容》 print("<TR>\n"); print("<TD NOWRAP><FONT SIZE='2.5'><B>【備  考】</B></FONT></TD>\n"); print("<TD colspan='2'>\n"); print("<div id='target'>\n"); print("<select onchange='test(1)' onblur='test(1)'> <option value=' ' style='background-color:#3366FF; color:#FFFFFF'>  <option value=' ~ 09:30' style='background-color:#FFFFFF; color:#3366FF'>~ 09:30 <option value=' ~ 10:00' style='background-color:#3366FF; color:#FFFFFF'>~ 10:00 <option value=' ~ 10:30' style='background-color:#FFFFFF; color:#3366FF'>~ 10:30 <option value=' ~ 11:00' style='background-color:#3366FF; color:#FFFFFF'>~ 11:00 <option value=' ~ 11:30' style='background-color:#FFFFFF; color:#3366FF'>~ 11:30 <option value=' ~ 12:00' style='background-color:#3366FF; color:#FFFFFF'>~ 12:00 </select>\n"); print("<input size='20' type='text' name='pm_note' id='pm_note' value='$out_time' ondblClick='test(0)' style='width:100%;'> \n"); print("</div>\n"); print("</TD>\n"); print("<TD></TD>\n"); print("<TD></TD>\n"); print("</TR>\n");

    • ベストアンサー
    • HTML
  • 背景色の変更を簡単に

    <script type="text/javascript"> <!-- function change(bg_color){ document.bgColor = bg_color; } //--> </script> ************ <table> <tr> <td onclick="change('#FFFFEE')" style="background-color: #FFFFEE">クリーム</td> <td onclick="change('#EEFFFF')" style="background-color: #EEFFFF">水色</td> <td onclick="change('#FFEEFF')" style="background-color: #FFEEFF">桃色</td> <td>~~</td> </tr> </table> ************ javascript初心者です。テストでなんとか動くようになりました・・・ これで間違いないでしょうか? これで正しければ onclick="change('#~~~')"の記述を全カ所にこれから入れようと思うのですが、 onclick="change('#~~~')"の部分を記述しないで、 style="background-color: #~~~">のstyleの色名#~~~を引っ張り込む方法とか、統一する方法とか簡素化する方法はありますか? 例えば<td style="background-color: #FFFFEE">クリーム</td> HTMLはこのままでできないでしょうか? ここで教えて頂いた以下の画像の場合は出来たので同じように出来れば嬉しいのですが・・・ <script type="text/javascript"> function change(evt) { e = evt.target || evt.srcElement; if (e.nodeName=='IMG') document.body.style.backgroundImage = 'url(' + e.src +')'; } </script> <table onclick="change(event)"> <tr> <td><img src="a001.jpg"></td> <td><img src="a002.jpg"></td> <td><img src="a003.jpg"></td> </tr> </table> *********************** なかなか応用ができなくて困っています。 なんとか簡単にできれば嬉しいです<(_ _)>

  • プルダウンの初期値に関して

    教えて下さい。 PHPとJavascript、DBはMySWLを使用してプルダウンにて選択した 内容を、別のテキストエリアに表示させるような事をしようとしています。 javascriptで選択されたものを別エリアに表示させ、さらには前回値をテキストエリアに再表示させる事は可能ですが、次に登録しようとした際に、プルダウンを選択していないとせっかく登録した内容がプルダウンの初期値で上書きさせれてしまいます。 何か、テキストにデータが存在した場合には、プルダウンの情報で上書きしないか、そもそもプルダウンの内容を覚えておくような事はできないでしょうか。。。 現在作成している記述です。 print("<TR>\n"); print("<TD NOWRAP><FONT SIZE='3'><B>【行  先】</B></FONT></TD>\n"); print("<TD NOWRAP SIZE='30'><input name='text1' VALUE=$out></input>\n"); print("</TD>\n"); print("<TD><select name='am_note' ONCHANGE='ChangeSelection(this.form, this)'> <option value=' '>                      <option value='自席' style='background-color:#FFFFFF; color:#3366FF'>自席 </select>\n"); print("</TD>\n"); print("</TR>\n"); よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう