• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptでセレクトボックスの"selected"を動的につ)

JavaScriptでセレクトボックスの"selected"を動的につける方法

このQ&Aのポイント
  • JavaScriptを使用して、セレクトボックスの選択肢に"selected"を動的に付ける方法について質問します。
  • 具体的には、年、月、日の選択肢を持つセレクトボックスを作成し、現在の日付に対応する選択肢に"selected"を付ける方法を知りたいです。
  • JavaScriptを活用して、セレクトボックスの"selected"属性を制御できる方法を教えてください。

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

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

こんな感じで・・・ <script> window.onload=function(){ var f=document.getElementById("f0"); var ymd=new Date(); checkSelect(f.elements["year"],ymd.getFullYear()); checkSelect(f.elements["month"],ymd.getMonth() +1); checkSelect(f.elements["day"],ymd.getDate()); } function checkSelect(obj,val){ for(var i=0;i<obj.length;i++){ if(obj[i].value==val){ obj[i].selected=true; break; } } } </script> <form id="f0"> <div> <select name='year'> <option value='2009'>2009</option> <option value='2010'>2010</option> <option value='2011'>2011</option> </select>年 <select name='month'> <option value='8'>8</option> <option value='9'>9</option> <option value='10'>10</option> </select>月 <select name='day'> <option value='29'>29</option> <option value='30'>30</option> <option value='31'>31</option> </select>日 </div> </form>

yuri805
質問者

お礼

具体的なソースまでいただいてありがとうございます。 大変参考になりました。

その他の回答 (2)

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

optionのselectedにtrueを設定すれば選択状態になります。 たとえば、 <script type="text/javascript"> window.onload = function() {  var today = new Date();  var year = today.getYear();  var month = today.getMonth();  var day = today.getDate();  selectOption(document.フォーム名.year, year);  selectOption(document.フォーム名.month, month+1);  selectOption(document.フォーム名.day, day); }; function selectOption(obj, value) {  for (var i = 0, len = obj.length; i < len; i++) {   if (obj[i].value == value) {    obj[i].selected = true;    return;   }  } } </script> とか。

yuri805
質問者

お礼

ご回答ありがとうございました。 無事に解決することができました。

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

<script type="text/javascript"> <!-- window.onload = function(){ var today = new Date(); var year = today.getFullYear(); var month = today.getMonth()+1; var day = today.getDate(); var options=document.getElementsByTagName("option"); for(var i=0;i<options.length;i++){ if(options[i].text==year) options[i].selected="selected"; if(options[i].text==month) options[i].selected="selected"; if(options[i].text==day) options[i].selected="selected"; } } // --> </script>

yuri805
質問者

お礼

ありがとうございました。 無事に解決することができました。

関連するQ&A

専門家に質問してみよう