Javascript函数允许在范围(08 - 15)之间输入时间,或者在单击时在文本框中输入默认(在范围内)时间

Javascript function to allow time input between range(08 - 15), or a default (in range) time in textbox on click

本文关键字:时间 输入 或者 默认 范围内 单击 文本 之间 函数 范围 Javascript      更新时间:2023-09-26

我使用这个网站的dateTimePicker jQuery插件:http://xdsoft.net/jqplugins/datetimepicker

在我的领域中,我使用format:'d/m/Y H:i'格式的日期+时间。

我设置了allowTimes从08:00到15:00,工作得很好。但是,如果您选择一个日期,即使允许的时间在08:00到15:00之间,它也会自动显示当前时间(16.30)。如何设置默认时间,或最大时间,在允许的范围之间的任何东西?谢谢你。

这是我的代码

$(document).ready(function(){
var d = new Date();
d.setDate(d.getDate() + 3);
var month = d.getMonth()+1;
var day = d.getDate();
var output = d.getFullYear() + '/' + (month<10 ? '0' : '') + month + '/' + (day<10 ? '0' : '') + day;
$('#datetimepicker').datetimepicker({
onShow: function(){
this.setOptions({ minDate: output });
},

onGenerate:function( ct ){
        $(this).find('.xdsoft_date.xdsoft_weekend')
            .addClass('xdsoft_disabled');
    },
    weekends:['01.01.2014','02.01.2014','03.01.2014','04.01.2014','05.01.2014','06.01.2014'],
    format:'d/m/Y H:i',
    minDate:'0',
    validateOnBlur: false,
    minTime:'08:00',
    maxTime:'15:00',
    dayOfWeekStart:'1',
    allowTimes:[
  '08:00', '08:30', '09:00', '09:30', '10:00', '10:30', '11:00', '11:30', '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00'
 ]

});
});

这个插件有一个onChangeDateTime事件处理程序,所以你可以添加这样的东西到你的日期选择器选项:

onChangeDateTime:function(db,$input){
    var time = $input.val();
    // Now use some if logic to determine if the time has minutes
    // And if it does change the time to the closest appropriate.
}

这个函数应该在选定日期后立即调用,如果该日期值的当前时间超出了您想要的范围,您可以在这里更改它,用户将永远不会看到无效的当前时间。