在确定minDate时排除beforeShowDay
Exclude beforeShowDay when determining minDate
我使用beforeShowDay来排除节假日和周末,但我希望在计算minDate时排除beforeShowDays。
例如,如果一周中的当前日期是星期五,而minDate是2,则我希望将周末从等式中排除。所以,我希望星期一是星期三,而不是星期一是你可以选择的第一个日期。
这是我的jQuery:
$( "#date" ).datepicker({
minDate: 2, maxDate: "+12M", // Date range
beforeShowDay: nonWorkingDates
});
有人知道怎么做吗?
这样的东西怎么样:
function includeDate(date) {
return date.getDay() !== 6 && date.getDay() !== 0;
}
function getTomorrow(date) {
return new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1);
}
$("#date").datepicker({
beforeShowDay: function(date) {
return [includeDate(date)];
},
minDate: (function(min) {
var today = new Date();
var nextAvailable = getTomorrow(today);
var count = 0;
var newMin = 0; // Modified 'min' value
while(count < min) {
if (includeDate(nextAvailable)) {
count++;
}
newMin++; // Increase the new minimum
nextAvailable = getTomorrow(nextAvailable);
}
return newMin;
})(2) // Supply with the default minimum value.
});
基本上,利用您已经为beforeShowDay
定义的方法,找出下一个有效日期在哪里。如果我的逻辑是正确的(并且你只排除周末),这个值只能是2或4:2如果有周末(周四或周五),如果没有,则为2。
如果你有其他被排除在外的日子,情况会变得更复杂,但我认为逻辑仍然存在。
这是fiddle上的代码:http://jsfiddle.net/TpSLC/
相关文章:
- Sencha Touch构建-排除文件
- 如何为排除无穷大和NaN的数字声明Flow类型
- JS条件故障排除
- 如何在Webpack中从导出中排除供应商模块peerDependencies
- 是否排除节点中错误堆栈的第一行?/节点中的自定义错误类型
- 如何排除此正则表达式中的空白匹配项
- 使用Regex排除标签中的尾随点
- 如何排除对象'在$.toJSON之前或期间的s id属性
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- 如何使用yyyymmdd格式在日期中添加n天,但排除周日
- Sails.js指定要从自动插入中排除的js文件
- 如何从应用于正文的css中排除特定的表单
- 对DataTable jquery进行排序,排除文本字段中的空白
- 正在获取排除特定子节点的节点的innerHTML
- 从嵌套对象属性中获取排除某个值的最高值
- 有没有一个插件可以从特定的页面/帖子中排除一些JavaScripts
- Grunt排除在生成过程中插入某些文件
- 非常奇怪的JS/jQuery行为-alert()包含/排除
- 使用下拉菜单排除jquery错误
- 在确定minDate时排除beforeShowDay