• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:毎週月水土のみ日付をプルダウンに2ヶ月間分表示)

javascriptで2ヶ月間の月水土の日付をプルダウンに表示する方法

このQ&Aのポイント
  • javascriptを使って、当日から2ヶ月間の月水土の日付と曜日を出力し、プルダウンに表示する方法を教えてください。
  • 質問者は、http://okwave.jp/qa/q5738655.html に似たような質問を見つけましたが、解決策がわからなかったため、質問しました。
  • 土曜日の日付表示に関する質問が別にありましたが、他の曜日の日付を追加する方法がわかりませんでした。解決策を教えてください。

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

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

こんな感じでもよいかも <script> window.onload=function(){ var sel=document.getElementById("hoge"); var d1=new Date(); var d2=new Date(); d1.setMonth(d1.getMonth()+2); var youbi=["日","月","火","水","木","金","土"]; while(d2 < d1){ d2.setDate(d2.getDate()+1); if(d2.getDay().toString().match(/[136]/)){ var obj=document.createElement("option"); var txt=(d2.getFullYear())+"-"+(d2.getMonth()+1)+"-"+d2.getDate(); obj.setAttribute("value",txt); var txt=(d2.getMonth()+1)+"月"+d2.getDate()+"日("+youbi[d2.getDay()]+")"; obj.appendChild(document.createTextNode(txt)); sel.appendChild(obj); } } } </script> <select id="hoge"> </select>

youmuzik
質問者

お礼

ご連絡が遅くなりました。 素早いご回答ありがとうございました。 やりたい事が実現できました! 勉強不足で申し訳ございません。 助かりました。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 2ヶ月先だと3/18(月)も対象になると思います。またvalueの内容がリピートしてるのは転記ミスでしょうか。 60日として以下のように作ってみました。 ==== HTML <select id="selectDate"> </select> ==== JavaScript <script type="text/javascript"> var w = new Array ( '日', '月', '火', '水', '木', '金', '土' ); window.onload = function() { var selectDateOptions = document.getElementById('selectDate').options; selectDateOptions.length = 0; for ( var i = 0; i <= 60; i ++ ) { var date = new Date(); //日付を加算 date.setDate ( date.getDate() + i ); var day = date.getDay(); // 曜日が1:月 3:水 6:土のときのみ処理 if ( day === 1 || day === 3 || day === 6 ) { var strText = ('0'+(date.getMonth()+1)).slice(-2) + '月' + ('0'+date.getDate()).slice(-2) + '日' + '(' + w[date.getDay()] + ')'; var strValue = date.getFullYear() + '-' + ('0'+(date.getMonth()+1)).slice(-2) + '-' + ('0'+date.getDate()).slice(-2); selectDateOptions[selectDateOptions.length] = new Option ( strText, strValue ); } } }; </script>

youmuzik
質問者

お礼

ご連絡が遅くなりました。 ご指摘部分は転載ミスでした、すみません。 素早いご回答ありがとうございました、大変助かりました。 とても勉強になりました。

関連するQ&A