質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

641閲覧

【JS/jQuery】今日の日付を取得し、むこう8日間の日付(yyyy-mm-dd)を取得して表示したい

furikake__69

総合スコア9

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2018/08/29 13:59

編集2018/08/29 14:01

前提・実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

appendの部分の問題だけですが。

JavaScript

1for(var elapsed = 0; elapsed <= 7; elapsed++){ 2 $('#days').append($('<option></option>').text(year + '-' + month + '-' + (todayDate.getDate() + elapsed))); 3} 4```**動くサンプル:**[https://jsfiddle.net/oesufLzc/](https://jsfiddle.net/oesufLzc/) 5 6--- 7 8【【JavaScript】日付処理】 9[https://qiita.com/kazu56/items/cca24cfdca4553269cab#日付の加算減算](https://qiita.com/kazu56/items/cca24cfdca4553269cab#%E6%97%A5%E4%BB%98%E3%81%AE%E5%8A%A0%E7%AE%97%E6%B8%9B%E7%AE%97) 10 11【【JavaScript入門】日付の加算・減算方法まとめ(月またぎ/うるう年) | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト】 12[https://www.sejuku.net/blog/22925](https://www.sejuku.net/blog/22925) 13 14【Moment.jsを使う】 15[https://qiita.com/osakanafish/items/5ef636bbcb2c3ef94953](https://qiita.com/osakanafish/items/5ef636bbcb2c3ef94953)

投稿2018/08/29 14:07

編集2018/08/29 14:11
kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

furikake__69

2018/08/29 15:02

ご回答いただきありがとうございます! 「Moment.js」の存在知りませんでした! こちらで挑戦してみようと思います!
furikake__69

2018/08/30 02:23

無事、moment.jsの活用で理想の出力ができました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問