実際にどこが間違っているのかを理解する助けが必要です。
だから私はjQueryUIの日付ピッカー、http://jqueryui.com/datepicker/を使用しています。
このチュートリアルの一部を使用しました: http://www.phpeveryday.com/articles/jQuery-UI-AJAX-JSON-Datepicker-P1029.html
データベースのクエリに AJAX を使用しているため、データベースからの日付のみが許可されます。以下は、返される JSON です。
{"COLUMNS":["APPOINTMENT_DATE"],"DATA":[["July, 29 2013 00:00:00"]]}
以下は私のJavaScript全体です:
$(document).ready(function () {
var months = [], days = [];
$.ajax({
type: 'get',
url: 'cfc/datepicker.cfc?ReturnFormat=json',
data: {
method: 'getDates',
todayDate: '07-29-2013'
},
contentType: 'json',
dataType: 'json',
success: function(response) {
for (x = 0; x < response.DATA.length; x++) {
months.push(response.DATA[x].month);
days.push(response.DATA[x].day);
}
}
});
function addDates(date){
//Weekends are NOT selectable
if (date.getDay() == 0 || date.getDay() == 6) {
return [false, ""];
}
//Using AJAX call above, all RETURNED dates are selectable
for (x = 0; x < days.length; x++) {
if (date.getMonth() == months[x] - 1 &&
date.getDate() == days[x]) {
return [true, ""];
}
}
//If dates are not from above, they are NOT selectable
return [false, ""];
}
var DP_options = {
beforeShowDay: addDates
// minDate: "+1"
};
$("#dateInput").datepicker(DP_options);
});
addDates 関数の下のすべてを理解しています。私が抱えている問題は、AJAX 呼び出しです。レスポンスが返ってきます、苦労したのは成功関数です。JSON 応答を使用し、それらの変数を上部のmonths
およびdays
変数にプッシュすることになっています。addDates 関数はこれらの変数を使用してそれらを有効にします。
months
JSON 応答からdays
変数に情報をプッシュするにはどうすればよいですか? それとも、私は一歩を踏み外しましたか?