Twitter Bootstrap datepicker:如何启用只有特定的日期范围
我正在基于Twitter Bootstrap使用从https://github.com/eternicode/bootstrap-datepicker(这是从其他版本的叉)datepicker的一些项目,但它缺少一个非常重要的功能,我需要 - 如何只启用特定的日期范围(例如,从过去15天到今天),所以任何其他日期都不能被选中(不可点击)。Twitter Bootstrap datepicker:如何启用只有特定的日期范围
我发现这里的SO类似的解决方案,即禁用周六和周日: Limit bootstrap-datepicker to weekdays only? http://jsfiddle.net/katowulf/zNbUT/5/,但我不知道如何将其调整到我的需要。
在此先感谢。
您链接到最终使用相当多的黑客将类似的问题,但你想要的是一个简单多了 - 你正在寻找的startDate
和endDate
选项:
$('#dp1').datepicker({
format: 'mm-dd-yyyy',
startDate: '-15d',
endDate: '+0d' // there's no convenient "right now" notation yet
});
这些选项可以采用Date
对象,timedelta字符串(正如我在此处所做的)或给定的format
后面的日期字符串。
演示:http://jsfiddle.net/zNbUT/131/
此外,请确保您使用的代码从GitHub - eyecon.ro的副本是原代码,用旧的错误和没有更新的功能。
var startDate = new Date();
startDate.setDate(startDate.getDate()-15);
var endDate = new Date();
$('#dp1')
.datepicker().on('changeDate', function(ev){
if (ev.date.valueOf() > endDate.valueOf()){
alert('The date selected is too far in the future.');
} else if (ev.date.valueOf() < startDate.valueOf()){
alert('The date selected is too far in the past');
} else {
alert('fine')
}
});
不工作。尝试在这里:http://jsfiddle.net/XSmx6/1/ – jabbalesku
你必须设置一个处理程序,并取消选择,如果它超出范围。 –
@jabbalesku我已更新并添加了jsfiddle – Harry
已在http://stackoverflow.com/questions/11933173/how-to-restrict-the-selectable-date-ranges-in-bootstrap-datepicker上找到此解决方案。是否有任何选项可使限制日期“变灰”,以便用户在尝试之前可以查看可以选择的日期? – jabbalesku
如果您使用回购协议中包含的样式,则残疾人日期应该已变灰。 – eternicode