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

时间:2015-03-24 23:16:52

标签: jquery-ui

我正在尝试设置具有特定标记日(修正日)的日历。例如30-04-2015在日历中无法选择另一个月或日,只显示指定日期。

与图像类似:

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" ); 

有人可以告诉我我的错误或错误在哪里,我该如何解决呢?

BTW:我关注的是datepicker文档:api.jqueryui.com/datepicker/#method-setDate

谢谢!

1 个答案:

答案 0 :(得分:1)

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

$(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