'datepicker' 的设置日期不起作用 - jQueryUI

Set date for 'datepicker' doesn't work - jQueryUI

我正在尝试设置一个带有特定标记日(固定日)的日历。例如日历中的 30-04-2015 不可能 select 另一个月或一天,只显示指定的日期。

与图片相似:

http://i.stack.imgur.com/ILFbJ.png

我正在使用 jQueryIU 来做,但我无法得到它。

这是我的代码:

http://jsfiddle.net/andresgl/mr7aokod/3/

HTML

jQuery

(function($) {
        $(document).ready(function(){
            $( "#datepicker" ).datepicker(  
                {
                    beforeShowDay: $.datepicker.noWeekends,
                    hideIfNoPrevNext: false,
                    maxDate: "+1m",
                    minDate: "+1m",
                }
            );
        });
    })(jQuery);

    (function($) {
        $(document).ready(function(){
            $( "#datepicker" ).datepicker( "setDate", "04/30/2014" );
        });
    })(jQuery);

问题是如果我不声明这个参数:

           {
                beforeShowDay: $.datepicker.noWeekends,
                hideIfNoPrevNext: false,
                maxDate: "+1m",
                minDate: "+1m",
            }  

setDate 有效,但参数无效如果我声明参数,setDate 无效。

$( "#datepicker" ).datepicker( "setDate", "04/30/2014" ); 

谁能告诉我我做错了什么或哪里出错了,我该如何解决?

顺便说一句:我正在关注日期选择器文档:api.jqueryui.com/datepicker/#method-setDate

谢谢!

不确定这是否适合您的需要,但您也可以将最小值和最大值设置为日期。类似于:

$(function() {
    $(document).ready(function(){
        $( "#datepicker" ).datepicker(  
            {
                beforeShowDay: $.datepicker.noWeekends,
                defaultDate: new Date(2015, 04, 04),
                maxDate: new Date(2015, 04, 04),
                minDate: new Date(2015, 04, 04),
                hideIfNoPrevNext: false                
            }
        );
    });
});

UPDATED Fiddle

或者,您需要在限制范围之前设置日期:

$( "#datepicker" ).datepicker( "setDate", "04/05/2015" ).datepicker(  
    {
        beforeShowDay: $.datepicker.noWeekends,
        /*defaultDate: new Date(2015, 04, 04),*/
        maxDate: new Date(2015, 05, 04),
        minDate: new Date(2015, 05, 04),
        hideIfNoPrevNext: false                
     }
 );

UPDATED Fiddle 2