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

回答編集履歴

1

ツイキ

2019/11/17 11:21

投稿

kyoya0819
kyoya0819

スコア10434

answer CHANGED
@@ -3,4 +3,36 @@
3
3
  <input type=date>
4
4
  ```
5
5
  じゃだめなんですか?
6
- [MDN](https://developer.mozilla.org/ja/docs/Web/HTML/Element/Input/date)
6
+ [MDN](https://developer.mozilla.org/ja/docs/Web/HTML/Element/Input/date)
7
+
8
+ 要望通りのものだと以下のように書けばできる。
9
+ ```HTML
10
+ <select onchange=date(this)>
11
+
12
+ </select>
13
+ <select>
14
+
15
+ </select>
16
+ ```
17
+ ```JS
18
+ for(i=0;i<10;i++){
19
+ var year = 2019 + i;
20
+ for(j=1;j<=12;j++){
21
+ document.getElementsByTagName('select')[0].innerHTML += '<option class=' + (j - 1) + '>' + year + '年' + j + '月</option>'
22
+ }
23
+ }
24
+
25
+ var dates = [31,28,31,30,31,30,31,31,30,31,30,31];
26
+
27
+ function date(obj){
28
+ document.getElementsByTagName('select')[1].innerHTML = '';
29
+ for(j=1;j<=dates[obj.options[obj.selectedIndex].className];j++){
30
+ document.getElementsByTagName('select')[1].innerHTML += '<option>' + j + '日</option>';
31
+ }
32
+ }
33
+
34
+ for(j=1;j<=dates[0];j++){
35
+ document.getElementsByTagName('select')[1].innerHTML += '<option>' + j + '日</option>';
36
+ }
37
+ ```
38
+ [サンプル](https://codepen.io/asuchi0819/pen/LYYMVYY?editors=1010)