我想在Dojo中使用dateTextBox供用户选择date.And我想限制我的日期选择仅限于接下来的10天(周末除外)。
所以如果我的日期从星期一开始(2014年6月30日)然后它应该启用星期一(2014年6月30日)到星期五(2014年7月4日),然后解散星期六(05/07/2014)-sunday(06/07/2014并且再次启用星期一(2014年7月7日)到星期五(2014年7月11日)。
- 提前致谢。
答案 0 :(得分:1)
您可以通过覆盖rangeCheck
功能来禁用特定日期,例如:
var SUNDAY = 0, SATURDAY = 6, TWO_WEEKS = 1000 * 60 * 60 * 24 * 14;
registry.byId("myDate").set('rangeCheck', function(date, constraints) {
var isValid = date.getDay() !== SUNDAY && date.getDay() !== SATURDAY; // Weekend check
var today = new Date();
today.setHours(0, 0, 0, 0);
var diffms = date.getTime() - today.getTime();
isValid &= diffms >= 0 && diffms <= TWO_WEEKS; // Two week check
return isValid;
});
我在这里使用当前的一天来获得接下来的两周,但您可以在约束中添加特定日期,这些日期也会传递给rangeCheck
函数。
可以在JSFiddle上找到完整的示例:http://jsfiddle.net/rkC9h/