【问题标题】:Bootstrap datetimepicker - minDate is not a fuctionBootstrap datetimepicker - minDate 不是函数
【发布时间】:2016-05-18 09:32:54
【问题描述】:

我正在使用带有引导程序的 datetimepicker。

一切顺利,然后我尝试使用 2 日期时间选择器来选择日期间隔,但是在尝试选择日期时,我进入了控制台

TypeError: $('#datetimepicker2').data("DateTimePicker").maxDate is not a function. (In '$('#datetimepicker2').data("DateTimePicker").maxDate(e.date)', '$('#datetimepicker2').data("DateTimePicker").maxDate' is undefined)

我正在使用来自 https://eonasdan.github.io/bootstrap-datetimepicker/ 的 bootstrap-datetimepicker

(maxDate 也会出现一些错误)

这是我正在调用的脚本

$(function() {
    $('#datetimepicker2').datetimepicker({
        locale : 'it',
        format : 'DD/MM/YYYY HH:mm'
    });
    $('#datetimepicker3').datetimepicker({
        locale : 'it',
        format : 'DD/MM/YYYY HH:mm',
        useCurrent: false //Important! See issue #1075
    });
     $("#datetimepicker2").on("dp.change", function (e) {
         $('#datetimepicker3').data("DateTimePicker").minDate(e.date);
     });
     $("#datetimepicker3").on("dp.change", function (e) {
         $('#datetimepicker2').data("DateTimePicker").maxDate(e.date);
     });

});

我错过了什么吗?

【问题讨论】:

  • $('#datetimepicker2').data("DateTimePicker").maxDate(e.date);你有没有从任何来源得到这行代码??
  • 我正在寻找它,但是没有......我在任何地方都找不到它......它应该在哪里?这不是基本的 datetimepicker 函数吗?
  • 你可以试试$('#datetimepicker2').datetimepicker('maxDate',e.Date)
  • 谢谢,现在我没有错误,但什么也没发生...我可以选择 minDate 之前的日期和 maxDate 之后的日期
  • Your solution works in fact.. 你能不能显示你的html

标签: twitter-bootstrap datetimepicker


【解决方案1】:

我有同样的问题只是因为我使用的是 version : 3.1.3 才意识到它。对于 3.1.3 版本,您需要使用 setMaxDate() 和 setMinDate() 而不是 maxDate() 和 minDate()

     $(function () {
      $('#input-start-date').datetimepicker({
         pickTime: false
       });

      $('#input-end-date').datetimepicker({
          pickTime: false,
          useCurrent: false //Important! See issue #1075
      });
      $("#input-start-date").on("dp.change", function (e) {
          $('#input-end-date').data("DateTimePicker").setMinDate(e.date);
      });
      $("#input-end-date").on("dp.change", function (e) {
          $('#input-start-date').data("DateTimePicker").setMaxDate(e.date);
      });
  });

【讨论】:

    【解决方案2】:
    $('#start_date_picker').datetimepicker();
    $('#end_date_picker').datetimepicker({
        useCurrent: false //Important! See issue #1075
    });
    $("#start_date_picker").on("dp.change", function (e) {
        $('#end_date_picker').data("DateTimePicker").setMinDate(e.date);
    });
    $("#end_date_picker").on("dp.change", function (e) {
        $('#start_date_picker').data("DateTimePicker").setMaxDate(e.date);
    });
    

    这对我有用。

    【讨论】:

    • 请添加一些解释。
    【解决方案3】:

    您可以尝试在调用 on change 事件之前添加.datetimepicker()。

    $("#datetimepicker2").datetimepicker().on("dp.change", function (e) {
         $('#datetimepicker3').data("DateTimePicker").minDate(e.date);
    });
    $("#datetimepicker3").datetimepicker().on("dp.change", function (e) {
         $('#datetimepicker2').data("DateTimePicker").maxDate(e.date);
    });
    

    【讨论】:

      【解决方案4】:
      $('#start-date2').datetimepicker({
        format : 'DD-MMM-YYYY HH:mm'
      });
      $('#end-date3').datetimepicker({
        format : 'DD-MMM-YYYY HH:mm',
        useCurrent: false //Important! See issue #1075
      });
      
      $("#start-date2").on("dp.change", function (e) {
        $('#end-date3').data("DateTimePicker").minDate(e.date);
      });
      
      $("#end-date3").on("dp.change", function (e) {
        $('#start-date2').data("DateTimePicker").maxDate(e.date);
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-01
        • 1970-01-01
        • 2018-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-27
        相关资源
        最近更新 更多