您好,
我的客户端的PHP服务器不支持,因为它有PHP版本5.1.6。在我的项目中,我从服务器端获取日期值并在jquery datepicker中禁用日期。
以下是我的代码:
$(document).ready(function () {
$('#textfield1').attr("disabled", true);
$('#textfield2').attr("disabled", true);
$('#textfield1').datepicker( "destroy" );
$('#textfield2').datepicker( "destroy" );
$("#loading2").html('<img src="images/loading.gif"/>');
var dataString = 'v=OV';
$.ajax({
type: "GET",
url: "include/getdate.php",
cache: false,
data: dataString,
dataType: "json",
success: function(data){
$(".tempimg").hide();
$('#textfield1hid').removeAttr("disabled");
$('#textfield2hid').removeAttr("disabled");
$('#textfield1hid').removeAttr("style");
$('#textfield2hid').removeAttr("style");
$("#textfield1hid").datepicker({
showOn: "button",
buttonImage: "/images/calendar.gif",
buttonImageOnly: true,
dateFormat: 'd M yy',
altField: "#textfield1",
altFormat: "yy-mm-dd",
beforeShowDay: reservedDates
});
$("#textfield2hid").datepicker({
showOn: "button",
buttonImage: "/images/calendar.gif",
buttonImageOnly: true,
dateFormat: 'd M yy',
altField: "#textfield2",
altFormat: "yy-mm-dd",
beforeShowDay: reservedDates
});
natDays = data;
function reservedDates(date) {
for (i = 0; i < natDays.length; i++) {
if (date.getMonth() == natDays[i][0] - 1
&& date.getDate() == natDays[i][1]) {
return [false, natDays[i][2] + '_day'];
}
}
return [true, ''];
}
$("#loading2").html('');
},
error: errorCallback
});
return false;
});
function errorCallback(jqXHR, textStatus, errorThrown) {
alert(jqXHR);
alert(textStatus);
alert(errorThrown);
}
我从服务器获得自定义数组响应:这是来自服务器的示例响应:
[[04,01],[04,01],[04,02],[04,02],[04,03],[04,03],[04,13],[04,13],[04,14],[04,14],[04,15],[04,15],[04,16],[04,16]]
此代码在Firefox和IE7中完美运行,但当其他浏览器(包括IE8和Chrome)无法正常工作时,即。没有显示禁用日期的日期选择器。抛出和parseerror以及语法错误。如果我从ajax代码中删除了dataType:"json"
,那么浏览器都没有给我正确的答案但是日期选择器显示而没有禁用日期。有人帮我解决了这个问题
由于