datetimepicker日历设置mindate

本文探讨了在使用DateTimePicker插件时遇到的日期选择限制问题,并提供了避免因useCurrent属性引发循环限制的有效解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用datetimepicker之前最好先看看自己用的是哪个datetimepicker,免得出现下面这种悲剧

http://stackoverflow.com/questions/22500662/bootstrap-3-datetimepicker-events-not-firing-up

 

在于我来说,就没分清startdate和mindate,enddate和maxdate

最新的已经是后者

 

使用例

http://eonasdan.github.io/bootstrap-datetimepicker/

 

<script type="text/javascript">
    $(function () {
        $('#datetimepicker6').datetimepicker();
        $('#datetimepicker7').datetimepicker({
            useCurrent: false //Important! See issue #1075
        });
        $("#datetimepicker6").on("dp.change", function (e) {
            $('#datetimepicker7').data("DateTimePicker").minDate(e.date);
        });
        $("#datetimepicker7").on("dp.change", function (e) {
            $('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
        });
    });
</script>

 

这次卡在了useCurrent上,因为如果不写这条设置,在设置datetimepicker7的minDate的时候,会将datetimepicker7的值从空白更新成now,触发第2个方法的change,然后会给datetimepicker6设置maxdate为now,导致datetimepicker6无法选择now以后的日期,类似于死循环

 

插件源码如下

if (options.useCurrent && !options.keepInvalid && date.isBefore(minDate)) {
                setValue(options.minDate);
            }

 

所以,demo里也给出了解决方法,设置useCurrent为false

 

       $('#datetimepicker7').datetimepicker({
            useCurrent: false //Important! See issue #1075
        });

 或者

$('#datetimepicker7').data("DateTimePicker").useCurrent(false);

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值