Bootstrap DateTime Picker限制可选择的小时

  近期项目中要求页面中的时间控件对小时选择进行限制,只能选择6:00与15:00。原先使用的My97 DatePicker较为复杂,因此选择针对该需求页面换用Bootstrap DateTime Picker组件来实现该功能。

  但是在阅读官方文档时只查阅到daysOfWeekDisabled选项以及setDaysOfWeekDisabled方法。没有所需要的小时限制功能。随后通过查阅源码发现:

this.startDate = new Date(-8639968443048000);
this.endDate = new Date(8639968443048000);
this.datesDisabled = [];
this.daysOfWeekDisabled = [];
this.setStartDate(options.startDate || this.element.data('date-startdate'));
this.setEndDate(options.endDate || this.element.data('date-enddate'));
this.setDatesDisabled(options.datesDisabled || this.element.data('date-dates-disabled'));
this.setDaysOfWeekDisabled(options.daysOfWeekDisabled || this.element.data('date-days-of-week-disabled'));
this.setMinutesDisabled(options.minutesDisabled || this.element.data('date-minute-disabled'));
this.setHoursDisabled(options.hoursDisabled || this.element.data('date-hour-disabled'));

其中包含了 setHoursDisable,也就是说可以通过初始化时利用 hoursDisabled 选项来进行控制可选小时。


首先引入datetimepicker所需要的相关css和js文件

<link rel="stylesheet" href="../static/css/bootstrap.min.css" media="screen"/>
<link rel="stylesheet" href="../static/css/date/bootstrap-datetimepicker.min.css" media="screen"/>


<script src="../static/js/jquery-3.3.1.min.js"></script>
<script src="../static/js/bootstrap.min.js"></script>
<script src="../static/js/date/bootstrap-datetimepicker.min.js" charset="UTF-8"></script>
<script src="../static/js/date/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>


组件html代码:

<div class="container">
    <form action="" class="form-horizontal" role="form">
        <fieldset>
            <legend>Test</legend>
            <!--<i class="glyphicon glyphicon-chevron-left" onclick="date_left()"></i>-->
            <input id="datetimepicker" size="16" type="text" readonly class="form_datetime form-control"
                   style="width: 200px; height: 18px; padding: 0" autocomplete="off">
            <!--<i class="glyphicon glyphicon-chevron-right" onclick="date_right()"></i>-->
        </fieldset>
    </form>
</div>


组件绑定及初始化:

$("#datetimepicker").datetimepicker({
    format: 'yyyy/mm/dd hh:ii',
    autoclose: 1,
    minView: 'day',
    hoursDisabled: [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23]
});


效果展示:



猜你喜欢

转载自blog.csdn.net/ye11ye/article/details/80733004