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

回答編集履歴

2

追記

2016/08/25 07:05

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -15,4 +15,31 @@
15
15
  <option value="2014" disabled>2014</option>
16
16
  <option value="2013" disabled>2013</option>
17
17
  </select>
18
+ ```
19
+
20
+ # 追記
21
+ とりあえずjavascriptで今年を引っ張ってきて、optionのテキストと
22
+ 比べてみました
23
+
24
+ ```javascript
25
+ $(function(){
26
+ var thisyear=(new Date()).getFullYear();
27
+ $('#hoge option').each(function(){
28
+ if(Math.abs($(this).html()-thisyear)>1){
29
+ $(this).attr("disabled",true);
30
+ }
31
+ });
32
+ });
33
+ ```
34
+
35
+ ```HTML
36
+ <select id="hoge" name="hoge">
37
+ <option value="2019">2019</option>
38
+ <option value="2018">2018</option>
39
+ <option value="2017">2017</option>
40
+ <option value="2016" selected>2016</option>
41
+ <option value="2015">2015</option>
42
+ <option value="2014">2014</option>
43
+ <option value="2013">2013</option>
44
+ </select>
18
45
  ```

1

追記

2016/08/25 07:05

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -1,3 +1,18 @@
1
1
  もちろん、セレクトボックスが選ばれたあとイレギュラーな値の場合は
2
2
  デフォルトに戻すような処理をいれてもいいとは思いますが
3
- 最初から現在年プラマイ1年の3年分しか表示しないという選択肢はないのでしょうか?
3
+ 最初から現在年プラマイ1年の3年分しか表示しないという選択肢はないのでしょうか?
4
+
5
+ # 追記
6
+ 単純にやるなら、選択できない要素にdisableを設定することでしょうか
7
+
8
+ ```HTML
9
+ <select name="hoge">
10
+ <option value="2019" disabled>2019</option>
11
+ <option value="2018" disabled>2018</option>
12
+ <option value="2017">2017</option>
13
+ <option value="2016" selected>2016</option>
14
+ <option value="2015">2015</option>
15
+ <option value="2014" disabled>2014</option>
16
+ <option value="2013" disabled>2013</option>
17
+ </select>
18
+ ```