我需要幫助瞭解我實際出錯的位置。從CFC JSON響應訪問信息
所以我使用jQueryUI的datepicker,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函數將使用這些變量來啓用它們。
如何將JSON響應中的信息推送到months
和days
變量?或者我錯過了一步?
你真的應該在「成功」處理程序中聲明「var」,也在「addDates」中聲明「x」。 *編輯*我看到它就像你的教程。這是可悲的。 – Pointy
你說的JSON是從CFC返回的('{「COLUMNS」:[「APPOINTMENT_DATE」],「DATA」:[[「2013年7月29日00:00:00」]]}'不匹配你正在嘗試使用它的方式,'response.DATA [x] .month'等。你需要爲你的代碼返回正確的JSON,或者重新編寫你的代碼來處理它接收的數據。 –
@Pointy - 我會研究聲明這些變量。一旦我找出如何處理它,我將編輯原始代碼。 – Chester