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

回答編集履歴

3

chousei

2025/06/17 01:06

投稿

yambejp
yambejp

スコア117995

answer CHANGED
@@ -42,4 +42,41 @@
42
42
 
43
43
  > (3週間先ということで、月の中旬以降にアクセスした際に次月も見えた方が良いため)
44
44
 
45
- minDateを設定すると選択できる最初の月が表示されるはずです
45
+ minDateを設定すると選択できる最初の月が表示されるはずです
46
+
47
+ # 注記
48
+ jqueryは古い仕組みのためあえてconstやletではなくvarで変数宣言しています
49
+
50
+ # 調整版
51
+ ```html
52
+ <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css" />
53
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
54
+ <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"></script>
55
+ <script>
56
+ $(function(){
57
+ var dateFormat='yy/mm/dd';
58
+ // 祝日はリストを作って対応する
59
+ var disableDates = [
60
+ "2025/07/21",
61
+ "2025/08/11",
62
+ ];
63
+ var is_mobile=window.matchMedia('(max-width: 767px)').matches;
64
+ var numberOfMonths=is_mobile?1:2;
65
+ $('.calendar').datepicker({
66
+ minDate: '+21d',
67
+ dateFormat:dateFormat,
68
+ numberOfMonths:numberOfMonths,
69
+ beforeShowDay:function(date) {
70
+ var disableDate = $.datepicker.formatDate(dateFormat, date);
71
+ if($.inArray(disableDate,disableDates)>-1) return [false,'mydisabled',''];
72
+ if(date.getDay()==0) return [false,'sunday',''];
73
+ if(date.getDay()==3) return [false,'wednesday',''];
74
+ if(date.getDay()==6) return [false,'saturday',''];
75
+ return [true,'',''];
76
+ }
77
+ });
78
+ });
79
+ </script>
80
+ <input class="calendar">
81
+ <input class="calendar">
82
+ ```

2

chousei

2025/06/16 03:02

投稿

yambejp
yambejp

スコア117995

answer CHANGED
@@ -38,4 +38,8 @@
38
38
 
39
39
  > 上記に加えて、PC版とモバイル版のカレンダー表示数を変えたいのですが、どこに加筆すれば良いのか分かりません。
40
40
 
41
- なにをどうしたいのでしょうか?
41
+ なにをどうしたいのでしょうか?
42
+
43
+ > (3週間先ということで、月の中旬以降にアクセスした際に次月も見えた方が良いため)
44
+
45
+ minDateを設定すると選択できる最初の月が表示されるはずです

1

調整

2025/06/16 03:00

投稿

yambejp
yambejp

スコア117995

answer CHANGED
@@ -34,6 +34,7 @@
34
34
  > カレンダーの選択可能日を3週間先にしたいのですが、下記を見ても分かりませんでした。
35
35
 
36
36
  過去を選ばせたくないのか、3週間後から選ばせたいのか条件がわかりません。
37
+ 3週間後から選ばせたいならminDateを'+21d'(or 20d?)とかにすればよいです
37
38
 
38
39
  > 上記に加えて、PC版とモバイル版のカレンダー表示数を変えたいのですが、どこに加筆すれば良いのか分かりません。
39
40