在开发过程中,我遇到了一个奇怪的问题.以下是我的jQuery代码,在页面加载时加载2个日期选择器,这2个日期选择器禁用了不可用的日期,这是代码:
$(document).ready(function () {
$('#textfield1').datepicker( "destroy" );
$('#textfield2').datepicker( "destroy" );
$("#loading2").html('<img src="images/loading.gif"/>');
var dataString = 'a=b';
$.ajax({
type: "GET",
url: "include/getdate.PHP",
data: dataString,
success: function(data){
$(".tempimg").hide();
$("#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('');
}
});
return false;
});
这段代码在Firefox和IE7上运行良好.但是,当它在IE8中显示时,日期选择器未加载,但是ajax响应来自服务器.这是我的2个文本字段
<input type="text" name="textfield1hid" id="textfield1hid" />
<input type="text" name="textfield2hid" id="textfield2hid" />
这是来自服务器的响应:
[[04,01],[04,01],[04,02],[04,02],[04,03],[04,03]]
IE8加载页面后,文本字段仍然如下所示
<input name="textfield1hid" disabled="disabled" id="textfield1hid" style="background-color: #a0a0a4;" type="text"/>
下一个文本字段也具有相同的属性,我很久以前就添加了它们并删除了所有属性,其他浏览器即使在IE7上也能正常工作,但IE8中存在问题
谁能帮我解决这个问题
解决方法:
你可以尝试一下:
将dataType更改为文本
评估数据.
natDays = eval(‘(‘data’)’);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。