使用datepicker时设置可选择时间范围

马魁
2023-12-01

这是从网上摘来的,可以在每个时间选择后限定时间,开始时间不能大于结束时间,结束时间不能小于开始时间。


$(function() {
        var dates = $("#TextBoxBeginTime,#TextBoxEndTime").datepicker(
            {             
                changeMonth: true,
                onSelect: function(selectedDate) {
                var option = (this.id == "TextBoxBeginTime") ? "minDate" : "maxDate",
                instance = $(this).data("datepicker"),
                date = $.datepicker.parseDate(
                instance.settings.dateFormat || $.datepicker._defaults.dateFormat,selectedDate, instance.settings);
                dates.not(this).datepicker("option", option, date);
                }
            });


不过这样要更改开始时间时,若选择的时间大于结束时间,则无法选择,只能先调整结束时间然后再更改开始时间。不如这样,开始时间自由选择,结束时间限定不能小于开始时间的好。

function change ( e ) {
            var minDate = $( this ).datepicker( "getDate" );
               $("#TextBoxEndTime").datepicker("option", "minDate", minDate);
            }


            $(document).ready(function() {
                $("#TextBoxBeginTime").datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true }).change(change);
                $("#TextBoxEndTime").datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true });


                $("#TextBoxBeginTime").datepicker('setDate', new Date()).change();//设置默认时间显示。


            });





 类似资料: