質問編集履歴
4
質問文修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,12 +8,6 @@
|
|
8
8
|
|
9
9
|
複数選択のサンプルを拡張して、祝日の表示を試みているのですが、
|
10
10
|
|
11
|
-
”beforeShowDay”パラメータを入れたところでjQuery-ui.js内でエラーが起きてしまいます。
|
12
|
-
|
13
|
-
何となく、変数のスコープがおかしいような気がしていますが、デバッグで原因が掴めずいます。
|
14
|
-
|
15
|
-
|
16
|
-
|
17
11
|
どなたかよい実装方法をご教授願えませんでしょうか。
|
18
12
|
|
19
13
|
```
|
3
ソース修正、問題点追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,34 +64,50 @@
|
|
64
64
|
|
65
65
|
var selected_date = []; // 選択した年月日
|
66
66
|
|
67
|
-
var days;
|
67
|
+
var holidays;
|
68
68
|
|
69
69
|
$(function(){
|
70
70
|
|
71
|
+
GCalHolidays.get(show, undefined, undefined);
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
});
|
76
|
+
|
77
|
+
function show(holidays) {
|
78
|
+
|
79
|
+
datepick(holidays);
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
function datepick(holidays){
|
84
|
+
|
71
85
|
var months = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
|
72
86
|
|
73
87
|
$('#datepicker').datepicker({
|
74
88
|
|
75
89
|
beforeShowDay: function(date){
|
76
90
|
|
77
|
-
|
91
|
+
|
78
|
-
|
79
|
-
|
92
|
+
|
80
|
-
|
81
|
-
for ( j in days) {
|
93
|
+
for ( j in holidays) {
|
82
|
-
|
94
|
+
|
83
|
-
|
95
|
+
if(date.getFullYear == holidays[j].year && date.getMonth == holidays[j].month && date.getDate==holidays[j].date){
|
96
|
+
|
97
|
+
|
84
98
|
|
85
99
|
return [false, '', ''];
|
86
100
|
|
87
101
|
}else{
|
88
102
|
|
89
|
-
|
103
|
+
|
90
104
|
|
91
105
|
}
|
92
106
|
|
93
107
|
}
|
94
108
|
|
109
|
+
return [true, '', ''];
|
110
|
+
|
95
111
|
},
|
96
112
|
|
97
113
|
prevText: '前月',
|
@@ -234,7 +250,7 @@
|
|
234
250
|
|
235
251
|
}
|
236
252
|
|
237
|
-
}
|
253
|
+
}
|
238
254
|
|
239
255
|
</script>
|
240
256
|
|
@@ -254,20 +270,14 @@
|
|
254
270
|
|
255
271
|
```
|
256
272
|
|
257
|
-
エラーメッセージ(デベロッパーツール)
|
258
|
-
|
259
|
-
```
|
260
|
-
|
261
|
-
jquery-ui.min.js:8 Uncaught TypeError: Cannot read property '0' of undefined
|
262
|
-
|
263
|
-
```
|
264
|
-
|
265
273
|
|
266
274
|
|
267
275
|
追記:
|
268
276
|
|
269
|
-
|
277
|
+
カレンダーを表示するところまでは戻りましたが、”beforeShowDay:”を追加したことによって土日の色まで灰色に戻ってしまいました。
|
270
|
-
|
278
|
+
|
271
|
-
|
279
|
+
<div id="datepicker">をinputタグに変えると祝日は表示されますが複数選択の
|
272
|
-
|
280
|
+
|
273
|
-
|
281
|
+
表示(裏で配列には入っています)が死に、divタグだと複数選択は生きますが祝日表示が死ぬというジレンマに陥っています。
|
282
|
+
|
283
|
+
http://g.0-oo.net/gcalendar-holidays.jsの中身をdivタグでも動くように書き換えた方がいいのか、方針から決め直さないといけないようです…。
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -68,21 +68,17 @@
|
|
68
68
|
|
69
69
|
$(function(){
|
70
70
|
|
71
|
-
GCalHolidays.get(show, undefined, undefined);
|
72
|
-
|
73
|
-
function show(days) {
|
74
|
-
|
75
|
-
days=this.days;
|
76
|
-
|
77
|
-
}
|
78
|
-
|
79
71
|
var months = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
|
80
72
|
|
81
73
|
$('#datepicker').datepicker({
|
82
74
|
|
83
75
|
beforeShowDay: function(date){
|
84
76
|
|
77
|
+
GCalHolidays.get(show, undefined, undefined);
|
78
|
+
|
79
|
+
function show(days) {return;}
|
80
|
+
|
85
|
-
for ( j in days) {
|
81
|
+
for ( j in days) {
|
86
82
|
|
87
83
|
if(date.getYear == j.year && date.getMonth == j.month && date.getDate==j.day){
|
88
84
|
|
@@ -94,20 +90,6 @@
|
|
94
90
|
|
95
91
|
}
|
96
92
|
|
97
|
-
|
98
|
-
|
99
|
-
// $('.ui-datepicker-calendar a').each(function(){
|
100
|
-
|
101
|
-
// var $this = $(this);
|
102
|
-
|
103
|
-
// if ( $this.text() == j.day ) {
|
104
|
-
|
105
|
-
// $this.parent('td').css('background-color','#F00');
|
106
|
-
|
107
|
-
// }
|
108
|
-
|
109
|
-
// });
|
110
|
-
|
111
93
|
}
|
112
94
|
|
113
95
|
},
|
@@ -279,3 +261,13 @@
|
|
279
261
|
jquery-ui.min.js:8 Uncaught TypeError: Cannot read property '0' of undefined
|
280
262
|
|
281
263
|
```
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
追記:
|
268
|
+
|
269
|
+
デバッグを繰り返した結果、
|
270
|
+
|
271
|
+
GCalHolidays.get(show, undefined, undefined);
|
272
|
+
|
273
|
+
がうまく実行できていないようで、コールバック関数のshow()もきちんと動作していないようです。
|
1
エラーメッセージの追記。
test
CHANGED
File without changes
|
test
CHANGED
@@ -271,3 +271,11 @@
|
|
271
271
|
</html>
|
272
272
|
|
273
273
|
```
|
274
|
+
|
275
|
+
エラーメッセージ(デベロッパーツール)
|
276
|
+
|
277
|
+
```
|
278
|
+
|
279
|
+
jquery-ui.min.js:8 Uncaught TypeError: Cannot read property '0' of undefined
|
280
|
+
|
281
|
+
```
|