`
fighter1945
  • 浏览: 226316 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

datetimepicker日历设置mindate

    博客分类:
  • js
阅读更多

用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);

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics