【问题标题】:I want a bootstrap time picker to select start time from drop- down where duration time gap is 30 minutes我想要一个引导时间选择器从下拉菜单中选择开始时间,其中持续时间间隔为 30 分钟
【发布时间】:2016-07-28 10:28:36
【问题描述】:

条件:时间也应该在早上 7 点到晚上 9 点之间。 我的要求是根据选定的持续时间加载表格。 我的代码不完整且无法正常工作。 我的html代码如下..

<label class="col-md-1 control-label firstcol">Reservation Time : </label> 
	<div class="col-md-2">
		<div class="input-group bootstrap-timepicker timepicker">
			<input data-provide="timepicker" class="form-control" name="txtReserveTimeFrom" id="txtReserveTimeFrom" readonly="readonly" tabindex="2" data-toggle="tooltip" data-container="body" data-placement="bottom" />
		</div>
	</div>
<label class="col-md-1 control-label firstcol "> To </label>
	<div class="input-group bootstrap-timepicker timepicker">
		<div class="col-md-1">
			<input data-provide="timepicker" class="form-control" data-time-format="H:i:s" name="txtReserveTimeTo" id="txtReserveTimeTo" readonly="readonly" tabindex="2" data-toggle="tooltip" data-container="body" data-placement="bottom" />
	</div>
</div>

我的java脚本如下。

$(document).ready(function(){
            $('#txtReserveTimeFrom').timepicker({
                 'minTime': '7:00am','maxTime':     '09:00pm','timeFormat': 'h:i A'
                });
                $('#txtReserveTimeTo').timepicker({
                 'minTime': '7:00am','maxTime': '09:00pm','timeFormat': 'h:i A'
                });
                 
                $( "#txtReserveTimeFrom" ).on( "change", function() {
                    loadResourceTable();
                });
                $( "#txtReserveTimeTo" ).on( "change", function() {
                   loadResourceTable();
                });
                $("#txtReserveDate").val(availableDates[0]);
                $('#txtReserveTimeFrom').timepicker('setTime', '7:00am');
                $('#txtReserveTimeTo').timepicker('setTime', '7:30am');
               loadResourceTable();
            });

// Now I changed the code like this. 


                  $('#txtReserveTimeFrom').timepicker({
                    minuteStep: '30',
                    defaultTime: '7:00 AM',
                    minTime: '7:00 AM',  
                    maxTime: '9:00 PM'
                });
                $('#txtReserveTimeTo').timepicker({
                    minuteStep: '30',
                     defaultTime: '07:30 AM' 
                 minTime: '7:00 AM',
                 maxTime: '09:00 PM'
                
                });

             $(document).ready(function(){
                 
                $( "#txtReserveTimeFrom" ).on( "change", function() {
                  loadResourceTable();
              });
                $( "#txtReserveTimeTo" ).on( "change", function() {
                    loadResourceTable();
                });
                $("#txtReserveDate").val(availableDates[0]);
                $('#txtReserveTimeFrom').timepicker('setTime', '7:00am');
                $('#txtReserveTimeTo').timepicker('setTime', '7:30am');
               loadResourceTable();
            });
           

我已经浏览并尝试了以下链接。

Javascript Dynamic Time Drop Down, bootstrap-timepicker not workingResponsive bootstrap 3 timepicker?http://www.okler.net/forums/topic/timepicker-not-showing-when-click-on-input/

我是引导程序和 JavaScript 的初学者。有人可以帮我解决这个问题。

【问题讨论】:

  • 见这里 - timepicker.co
  • 了解您在上面的代码中使用的是什么库会很有帮助
  • @AmanKumar - 非常感谢。
  • @dmoo - bootstrap-timepicker.js,bootstrap-timepicker.min.css,bootstrap-timepicker.min.js,bootstrap-timepicker.css
  • 我仍然无法为时间选择器设置 minTime 和 maxTime。上面我已经编辑了Java脚本代码sn-p。

标签: javascript jquery html css twitter-bootstrap


【解决方案1】:

我找到了上面发布的问题的解决方案。为了设置引导时间选择器的最小和最大时间,我使用了以下函数。

    function validateTimes(element, e){

       var maxMinutes = 21 * 60;
       var minMinutes = 7 * 60;

       var selectedMinutes = ( ((e.time.meridian == 'AM') ? e.time.hours : (e.time.hours+12))* 60 ) + e.time.minutes;

       if(!(e.time.meridian == 'PM' && e.time.hours == 12)){
          if( selectedMinutes<minMinutes){
               $(element).timepicker('setTime', '07:00 AM');
           }
           else if(selectedMinutes>maxMinutes){
               $(element).timepicker('setTime', '09:00 PM');
           }
       }
    }

我在更改时间选择器的时间时调用了该函数,因为我想在根据时间更改时加载表格。并使用 minuteStep 将间隔自定义为 30 分钟。您可以在下面找到该代码。

        $('#txtReserveTimeFrom').timepicker({
            defaultTime: '07:00 AM',
            minuteStep: 30
        }).on('changeTime.timepicker', function(e){
            validateTimes(this, e);
            loadResourceTable();
	});

        $('#txtReserveTimeTo').timepicker({
            defaultTime: '07:30 AM',
            minuteStep: 30
        }).on('changeTime.timepicker', function(e){
            validateTimes(this, e);
            loadResourceTable();
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    相关资源
    最近更新 更多