【发布时间】:2010-03-05 07:16:44
【问题描述】:
我希望能帮助我解决我在使用 jquery datepicker 时遇到的问题。
请访问此站点以获取有关代码示例问题的信息: http://codingforums.com/showthread.php?p=929427
基本上,我正在尝试让第 1 天和第 31 天工作,但还没有找到方法来做到这一点。他们说这可能是 jquery 日历中的错误。
这里是代码。
//var disabledDays = ['3-31-2010', '3-30-2010', '3-29-2010', '3-28-2010', '3-2-2010', '3-1-2010', '4-1-2010' ];
var checkDays = null;
函数 noWeekendsOrHolidays(日期) { // 可选:确保日期是仅日期,没有时间部分: date = new Date(date.getFullYear(), date.getMonth(), date.getDate());
// no point in checking if today is past the given data:
if ( (new Date()).getTime() > date.getTime() ) return [false,'inthepast'];
if ( checkDays == null )
{
checkDays = [];
// convert disabledDays to a more reasonable JS form:
for ( var d = 0; d < disabledDays.length; ++d )
{
var p = disabledDays[d].split("-");
checkDays[d] = new Date( parseInt(p[2]), parseInt(p[0])-1, parseInt(p[1]) );
}
}
var datetime = date.getTime();
for ( var i = 0; i < checkDays.length; i++)
{
if ( checkDays[i].getTime() == datetime ) return [false,'holiday'];
}
return [true,'']; // default CSS style when date is selectable
}
jQuery(document).ready(function() {
<%
response.write "var theSelectedDay = $.datepicker.parseDate(""y-m-d"", '" & theDate & "');" & vbcr
%>
jQuery('#datepicker2').datepicker({
dateFormat: 'yy-mm-dd',
constrainInput: true,
firstDay: 1,
defaultDate: theSelectedDay,
beforeShowDay: noWeekendsOrHolidays,
onSelect: function(date) {
endDate = date;
startDate = theSelectedDay;
}
});
});
theSelectedDay 的格式类似于 ['2010-3-1']
我已将计算机上的时钟调回以对此进行测试。它设定在 3 月 1 日。
我在主页上有一个大日历,当用户点击某一天时,它会弹出这个日期选择器。就像我说的,第 2-30 天一切正常,但第 1 天和第 31 天不行。
如果他们选择第 2 天(当时是 3 月 2 日),那么星期一当然不能选择,因为它是过去的一天。
希望对您有所帮助。
【问题讨论】:
标签: javascript jquery datepicker