jquery datepicker在初始化后更改默认日期

时间:2012-06-11 19:06:24

标签: jquery jquery-ui jquery-ui-datepicker

在jQuery UI datepicker Docs(http://jqueryui.com/demos/datepicker/)中,它表示你可以在init之后用

更改默认日期
$( ".selector" ).datepicker( "option", "defaultDate", +7 );

其中+7可以是日期字符串,日期对象或从今天开始的天数

我似乎无法让这个工作。如果我在初始化时设置defaultDate

$(".selector").datepicker({defaultDate:myDateObject});

它可以工作,但如果我尝试使用访问器方法,我无法让它工作。

有人可以尝试这个并让我知道它是否对他们有用,如果我在某个地方失去了理智。

编辑:这是一个例子的jsFiddle http://jsfiddle.net/Bkw7H/

3 个答案:

答案 0 :(得分:4)

我创建了一个有效的version - 您需要使用setdate函数,就像这样。

$("div").datepicker();
$("div").datepicker('setDate', date);​

答案 1 :(得分:2)

这是一个已知的错误:http://bugs.jqueryui.com/ticket/6195

显然,输入元素不会出现错误。

答案 2 :(得分:0)

我发现当您想要向已初始化的datepicker元素添加选项时,在load对象的window事件上添加选项会有效。

像这样:

function noSundays(date) {
    var weekday=new Array(7);
    weekday[0]="Sunday";
    weekday[1]="Monday";
    weekday[2]="Tuesday";
    weekday[3]="Wednesday";
    weekday[4]="Thursday";
    weekday[5]="Friday";
    weekday[6]="Saturday";

    if(weekday[date.getDay()] == 'Sunday')
        return [false, '', 'Not open on Sundays'];

    return [true];
}


jQuery(window).load(function(){

    jQuery('.hasDatepicker').datepicker('option', 'maxDate', '+1m +7d');
    jQuery('.hasDatepicker').datepicker('option', 'beforeShowDay', noSundays);

});