我正在使用这个日历控件。用户可以从日历中选择任何日期。我需要验证星期六和星期日以及1/1和1/25的日期。如果他们选择这些天我需要向他们显示一个弹出消息,如果它不是一个有效的日期。
答案 0 :(得分:5)
试试这个:
$("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的链接答案:Disable specific days of the week on 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/
为已停用的日期添加了数组: http://jsfiddle.net/UwcLf/3/
答案 1 :(得分:1)
如果您正在使用JQUery UI DatePicker,它有一个onSelect事件,您可以使用它来验证所选日期。
我不知道你的后端,或者你是否正在使用它,但是你总是可以通过Ajax调用将所选日期发送到服务器并确定它是否有效。
如果您使用的是ASP.Net,请查看Custom Validators。