如何validationdatepicker以禁止/拒绝某些日期?

我有这个日历控件我正在使用。 用户可以从日历中选择任何日期。 我需要validation星期六和星期日以及1/1和1/25的日期。 如果他们选择这些天我需要向他们显示一个弹出消息,如果它不是一个有效的日期。

试试这个:

$("input[id^='Date-<%=Model.ID%>']").change(function() { var date = new Date($(this).val()).getDay(); if(date == 0 || date == 6) { alert('weekend'); } }); 

这是通过change事件设置的。 您的活动可能会有所不同。

它得到输入的值: $(this).val()

从中创建一个新的Date对象: new Date($(this).val())

然后获取日期编号: .getDay() ,返回0到6之间的值,其中0表示星期日,6表示星期六。

然后你只需要测试0或6。

实例: http //jsfiddle.net/UwcLf/


编辑:Nick Craver提供,如果您不需要为周末选择运行备用代码,则可以禁用特定日期。

来自Nick的链接答案: 在jQuery UI datepicker上禁用一周中的特定日期

 $("input[id^='Date-<%=Model.ID%>']").datepicker({ beforeShowDay: function(date) { var day = date.getDay(); return [(day != 0 && day != 6)]; } })​​​​​;​ 

更新示例: http //jsfiddle.net/UwcLf/1/

为残疾人日添加arrays: http //jsfiddle.net/UwcLf/3/

如果您正在使用JQUery UI DatePicker,它有一个onSelect事件,您可以使用它来validation所选日期。

我不知道你的后端,或者你是否使用了后端,但你总是可以通过Ajax调用将所选日期发送到服务器并确定它是否有效。

如果您使用的是ASP.Net,请查看Custom Validators 。