【问题标题】:Bootstrap Datetimepicker set dateBootstrap Datetimepicker 设置日期
【发布时间】:2016-11-01 19:02:01
【问题描述】:

我正在使用来自 Eonasdan 的 datetimepicker,到目前为止效果很好。

我有一个这样的 HTML 元素

<div id="datetimepicker"></div>

并像这样使用 datetimepicker 函数:

$("#datetimepicker").datetimepicker({
    inline: true,
    sideBySide: true,
    stepping: 5,
    locale: "de"
});

结果如下所示:

我想通过 Javascript 使用 date 函数更新日期。我的尝试如下所示:

$("#datetimepicker").data("DateTimePicker").date("2016-01-01");

不幸的是,这只会返回一个大对象,并且不会以任何方式改变可见日期。返回此对象

Object { destroy: c/l.destroy(), toggle: c/ha(), show: c/ga(), hide: c/ba(),
    disable: c/l.disable(), enable: c/l.enable(), ignoreReadonly: c/l.ignoreReadonly(),
    options: c/l.options(), date: c/l.date(), format: c/l.format(), 40 weitere… }

使用不同的时间格式或只取日期而不取时间或其他任何方式都无济于事。

我在各种网站上找到的建议解决方案都没有解决我的问题。我不知道我是否必须更新元素?如果是这样,我该怎么做?我在文档中找不到任何提示...

使用 defaultDate 不是一个选项,因为我需要使用两个不同的日期执行此过程两次。

【问题讨论】:

标签: javascript twitter-bootstrap datetime twitter-bootstrap-3 datetimepicker


【解决方案1】:

根据documentation,您可以使用string, Date, moment, null,字符串和日期示例如下。注意默认选择器格式。

$('#datetimepicker1').data("DateTimePicker").date(new Date())

$('#datetimepicker1').data("DateTimePicker").date('1/11/2016 12:23:12')

【讨论】:

  • 两者都不起作用。第一个只是将时间设置为零,第二个产生与我的版本完全相同的结果
  • 你把$('#datetimepicker1')换成$('#datetimepicker')了吗?
  • 访问datetimepicker打开网络浏览器控制台并跟随$('#datetimepicker1').data("DateTimePicker").date('1/11/2016 12:23:12');
  • 我已经替换了它并使用控制台进行测试。从来没有工作过
  • 我认为您的格式可能有效,让我检查一下。我需要几分钟的时间
【解决方案2】:

当然,我是真正的死灵法师,但我遇到了同样的问题,.date() 函数对我没有帮助。 但是,我发现了这个:

$('#datetimepicker1').data("DateTimePicker").options({ defaultDate: newdate});
// newdate - could be Date, Moment or ISO string

【讨论】:

    【解决方案3】:

    我已经调试了一点,我找到了这个解决方案,它对我有用。

    $('#datetimepicker').data("DateTimePicker").setValue('2020-05-3')
    

    您将通过$('#datetimepicker').data("DateTimePicker")获得日期选择器的所有功能

    【讨论】:

      【解决方案4】:

      我认为你的 HTML 元素应该是 Input 标签:

      <input id="datetimepicker" type="text">
      

      当文件准备好时:

      $(document).ready(function () {
           $('#datetimepicker').datetimepicker({
                  defaultDate: null,
                  format: 'LT'
              });
      
      })
      

      您可以通过 JavaScript 设置日期值。

      $('#datetimepicker').data("DateTimePicker").date(new Date())

      或设置空值,即显示空值。

      $('#datetimepicker').data("DateTimePicker").date(null)

      我测试过了。它正在工作。

      【讨论】:

        【解决方案5】:

        对于正在尝试的人来说可以 $('#datetimepicker').data("DateTimePicker").date(null) 你得到错误 .data 是未定义的。然后你可以使用下面的jugaad,我不知道它有多好,但它确实对我有用

        function getDateTimeObj(ele) {
            if(ele && ele[0]){
                for(k in ele[0]){
                    if(ele[0][k].hasOwnProperty('DateTimePicker')){
                        return ele[0][k]['DateTimePicker'];
                    }
                }
            }
        }
        

        用法:

        getDateTimeObj($('#datetimepicker')).date(null);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多