JQuery datepicker 实现选取一段时间

图片发自简书App

JQuery 的datepicker组件做日要选择一段日期期选择框非常方便

JQueryUI-datepiccker.png

这里有详细教程

但是如果需要选择一段时间,则需要两个datepicker,一个为起始日期,一个为结束日期
并且,结束日期需要永远晚于或者等于起始日期.需要选择一段时间的应用场景很多,比如在OTA中,机票的往返日期,酒店入住和离店时间等.
就需要这样的逻辑:
如果用户已经选择了起始日期,而后选择结束日期,那么结束日期的minDate(最早可选时间)不早于起始日期
如果用户已经选择结束日期,再选择起始日期,那么起始日期的maxDate(最晚可选时间)不晚于结束日期
上次在stackoverflow上看到有人这样写:


$(function() {
    $( "#start-date").datepicker({
            defaultDate: "+1w",
            onSelect: function( selectedDate ) {
                $( "#end-date" ).datepicker( "option", "minDate", selectedDate );
        }
    });
    $( "#end-date" ).datepicker({
        defaultDate: "+1w",
        onSelect: function( selectedDate ) {
            $( "#start-date" ).datepicker( "option", "maxDate", selectedDate );
        }
    });
});

起始日期选择10月4日时,结束日期早于10月4日的便都无法选择


end-date.png

选择10月10日作为结束日期后,再回来选起始日期,可以看到10月10日之后的日期也都不可以选择了

start-date.png
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容