Datetimepicker-允许选择禁用日期 [英] Datetimepicker - allow choosing on disable dates
问题描述
我知道这听起来很疯狂,但是我需要允许在此处选择禁用日期: https://eonasdan.github.io/bootstrap-datetimepicker/
I know that sound crasy but I need to allow choosing disable dates here: https://eonasdan.github.io/bootstrap-datetimepicker/
为什么? 我需要为预订的可能性少的日期涂上颜色,并给预订的可能性大的绿色日期涂上颜色,所以我写道:
Why? I need to color dates with less possibility to booking, and color green dates where possibility to book is bigger so I write:
<script>
$(function () {
$('#start').datetimepicker({
format: 'YYYY/MM/DD',
enabledDates: [
moment("05/21/2016"),
moment("05/22/2016"),
moment("05/23/2016"),
moment("05/24/2016"),
],
});
});
</script>
<style type="text/css">
.bootstrap-datetimepicker-widget table th.disabled,
.bootstrap-datetimepicker-widget table th.disabled:hover {
background: #FF9088 !!important;
border-radius: 0px !important;
color: #fff !important;
border: 1px solid #fff !important;
}
.bootstrap-datetimepicker-widget table td.disabled,
.bootstrap-datetimepicker-widget table td.disabled:hover {
background: #FF9088 !important;
border-radius: 0px !important;
border: 1px solid #fff !important;
color: #fff !important;
}
.bootstrap-datetimepicker-widget table td span.disabled,
.bootstrap-datetimepicker-widget table td span.disabled:hover {
background: #FF9088 !important;
border-radius: 0px !important;
border: 1px solid #fff !important;
color: #fff !important;
}
.day {
background: rgba(88, 204, 0, 0.52) !important;
border-radius: 0px !important;
border: 1px solid #fff !important;
}
</style>
如您所见,我启用了启用绿色的日期,并且禁用了其他日期,禁用了红色的日期...但是我需要允许访问者也选择禁用日期,而不仅仅是启用...
As you can see , I have enable dates in green color and other dates are disable and its in red color... but I need to allow visitors to choose also disable dates, not just enable...
我使用启用和禁用只是为日历上的日期着色...
I use enable and disable just to color dates on calendar...
那么如何也允许选择禁用日期呢?
So how to allow to choose disable dates also ?
推荐答案
由于您要选择那些日子,因此不应禁用它们.相反,您可以通过使用数据属性,将css类动态地添加到要着色为td
的css类中选择器.
请注意,如果更改datetimepicker区域设置,则可能必须更新选择器格式.
Since you want to select those days you should not disable them. Instead you can dinamically add a css class to td
you want to color red by using data attribute selector.
Note that if you change datetimepicker locale you probably have to update selector format.
在这里您可以找到一个有效的示例:
Here you can find a working example:
function addRedClass() {
var redDates = ["05/21/2016","05/22/2016","05/23/2016","05/24/2016"];
for(var i=0; i<redDates.length; i++){
$('[data-day="'+redDates[i]+'"]').addClass('redDate');
}
}
$('#start').datetimepicker({
format: 'YYYY/MM/DD'
}).on('dp.show dp.update', addRedClass);
.bootstrap-datetimepicker-widget table th.redDate,
.bootstrap-datetimepicker-widget table th.redDate:hover {
background: #FF9088 !!important;
border-radius: 0px !important;
color: #fff !important;
border: 1px solid #fff !important;
}
.bootstrap-datetimepicker-widget table td.redDate,
.bootstrap-datetimepicker-widget table td.redDate:hover {
background: #FF9088 !important;
border-radius: 0px !important;
border: 1px solid #fff !important;
color: #fff !important;
}
.bootstrap-datetimepicker-widget table td span.redDate,
.bootstrap-datetimepicker-widget table td span.redDate:hover {
background: #FF9088 !important;
border-radius: 0px !important;
border: 1px solid #fff !important;
color: #fff !important;
}
.day {
background: rgba(88, 204, 0, 0.52) !important;
border-radius: 0px !important;
border: 1px solid #fff !important;
}
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>
<div class='input-group date' id='start'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
这篇关于Datetimepicker-允许选择禁用日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!