teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2017/08/31 04:35

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -34,4 +34,5 @@
34
34
 
35
35
  年/月の表示形式や0埋めが必要であれば都度調べて整形してください。
36
36
 
37
- 追記:
37
+ 追記:
38
+ 「今月を選択状態」の「今月」はグローバルに宣言されているので引数で渡していません。

2

追記

2017/08/31 04:35

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -32,4 +32,6 @@
32
32
  optionYMCreate(1950, this_year, 'year_month');
33
33
  ```
34
34
 
35
- 年/月の表示形式や0埋めが必要であれば都度調べて整形してください。
35
+ 年/月の表示形式や0埋めが必要であれば都度調べて整形してください。
36
+
37
+ 追記:

1

コメント追記

2017/08/31 04:34

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -10,15 +10,17 @@
10
10
  today = new Date();
11
11
  this_year = today.getFullYear();
12
12
  this_month = today.getMonth() + 1;
13
- this_ym = this_year +'/'+this_month;//今月
13
+ this_ym = this_year +'/'+this_month; //今月
14
+
15
+ //年月オプションを作る
14
- optionYMCreate = function(ystart,yend, id) {
16
+ optionYMCreate = function(ystart,yend, id) { //年の範囲と対象のコントロールIDを受け取る
15
17
  var i, opt,m_i,ym,selected_option ;
16
18
  opt = null;
17
- for (i = ystart; i <= yend ; i++) {
19
+ for (i = ystart; i <= yend ; i++) { //年のループ
18
- for(m_i=1;m_i<=12;m_i++){
20
+ for(m_i=1;m_i<=12;m_i++){ //月のループ
19
- ym = i +'/'+ m_i;
21
+ ym = i +'/'+ m_i; //ループ内の年月
20
22
  selected_option = '';
21
- if (ym === this_ym) {
23
+ if (ym === this_ym) { //今年月と一致してたら選択済みとする
22
24
  selected_option = 'selected';
23
25
  }
24
26
  opt += '<option value="' + ym + '" '+selected_option+'>' + ym + '</option>';
@@ -28,5 +30,6 @@
28
30
  };
29
31
 
30
32
  optionYMCreate(1950, this_year, 'year_month');
33
+ ```
31
34
 
32
- ```
35
+ 年/月の表示形式や0埋めが必要であれば都度調べて整形してください。