前提・実現したいこと
JavaScript・jQueryで今日の日付を取得し、むこう8日間の日付を「yyyy-mm-dd」の形ですべて表示したいです。
読み込ませているjQueryのバージョンは「1.11.2」です。
記述しているソースコード
var todayDate = new Date(); var year = todayDate.getFullYear(); var month = ('00' + (todayDate.getMonth()+1)).slice(-2); var day = ('00' + todayDate.getDate()).slice(-2); var today = year + '-' + month + '-' + day;
これで無事本日の日付を「yyyy-mm-dd」取得できました。
HTMLには以下(ソース1)のようにしてあり、JSまたはjQueryでoptionを挿入し、その中に本日〜8日後までの日付をそれぞれ入れたいです。
現在の該当処理は以下(ソース2)のようにしています。
▼(ソース1) HTMLファイル
<select name="days" id="days"></select>
▼(ソース2) JSファイル
for(var elapsed = 0; elapsed <= 7; elapsed++){ $('#days').append('<option></option>').text(year + '-' + month + '-' + (todayDate.getDate() + elapsed)); }
※for文中の変数は通例で変数iを使用することは存じております。のちの処理ですでに変数iを使用しているので、差別化のためにも別の変数名を使用しています。
上記のソースだと以下のような出力になりました。
<select name="days" id="days">2018-08-36</select>
そもそもoptionも挿入されていない上に、なぜかdayに+7された数字が出ているのでそもそも繰り返し処理がうまくいっていないみたいで・・・
しかしなぜうまくいかないのかもわかりません・・・・
理想の結果(本日を2018年8月29日とした場合)
<select name="days" id="days"> <option>2018-08-29</option> <option>2018-08-30</option> <option>2018-08-31</option> <option>2018-09-01</option> <option>2018-09-02</option> <option>2018-09-03</option> <option>2018-09-04</option> <option>2018-09-05</option> </select>
ご回答いただける皆さまへ
JS・jQueryを0から勉強し初めて3ヶ月ほどです。
初心者のため知識がまだまだの状態ですが、早急に問題を解決したく存じます。
皆さまの知恵をどうかご教授いただけましたら大変に幸いです。
どうぞよろしくお願いいたします。m(__)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/29 15:02
2018/08/30 02:23