在jQuery ui datepicker中禁用接下来的10天

时间:2016-05-09 10:36:39

标签: jquery jquery-ui-datepicker

$('#date').datepicker({
    maxDate: "+30d",
    minDate:0
});

我想禁用当前日期的下一个10日期,我正在尝试使用此代码但不能正常工作

1 个答案:

答案 0 :(得分:1)

只需使用minDate

$('#date').datepicker({
    maxDate: "+30d",
    minDate: "+10d"
});

<强> RESULT

enter image description here

WORKING DEMO

注意:将可选择20天,如果您希望从今天起10天后选择 30天,则需要设置属性maxDate: "+40d"

$('#date').datepicker({
    maxDate: "+40d",
    minDate: "+10d"
});

ADD ON:

  

感谢Jordi,是否可以只启用当前日期?

@achu你的意思是,今天启用并禁用接下来的9天?

  

是的,你的权利,今天的日期应该启用。

这可以通过jqueryjavascript完成,只需删除不允许您选择日期的类。

// select today's object, and remove classes ui-datepicker-unselectable ui-state-disabled
$(".ui-datepicker-today").removeClass("ui-datepicker-unselectable ui-state-disabled");

免责声明:小心,在创建datepicker时应该删除这些类,在WORKING DEMO中您可以看到我使用onClick,查看THIS NON WORKING DEMO,其中相同的代码未包装到函数中,当datepicker仍然不存在时,在onReady中执行。

结果(css也添加;)

enter image description here

嗯..这似乎不够......今天的按钮无法点击......我尝试添加属性和类,如其他可选择的日子但没有成功,今天没有更多的时间... < / p>

$( "#date" ).click(function() {
  $(".ui-datepicker-today").removeClass("ui-datepicker-unselectable ui-state-disabled");
  $(".ui-datepicker-today").attr("data-handler", "selectDay");
  $(".ui-datepicker-today").attr("data-event", "click");
  $(".ui-datepicker-today").attr("data-month", "5");
  $(".ui-datepicker-today").attr("data-year" , "2016");
  $("a.ui-datepicker-today").attr("href" , "#");

  $(".ui-datepicker-today").removeClass("ui-datepicker-today");

});

仍然缺少某些东西(悬停不活跃......)