javascript - Bootstrap Datetimepicker 始终将日期设置为 2016 年 1 月 20 日

标签 javascript twitter-bootstrap-3 momentjs datetimepicker

我正在尝试从表单字段值初始化 Bootstrap 日期时间选择器。

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

即使 moment 对象正确,日期选择器在初始化时始终显示“2016 年 1 月 20 日”。

我看不出我做错了什么。我也试过只使用字符串。

HTML

<label for="timer-date">End date</label>
<input type="text" id="timer-date" class="form-control" value="2016-12-15">
<label for="timer-time">End time</label>
<input type="text" id="timer-time" class="form-control" value="20:54:00">

JS

$(function() {

  var date = $('#timer-date').val() + ' ' + $('#timer-time').val();
  console.log (date); 
  // 2016-12-15 20:54:00

  var date_obj = moment(date);
  console.log (date_obj); 
  // _d    Date {Thu Dec 15 2016 20:54:00 GMT+0000 (GMT Daylight Time)}


  $('#timer-date').datetimepicker({
      format: 'LL',
      defaultDate: date_obj
  });

  $('#timer-time').datetimepicker({
      format: 'LT',
      defaultDate: date_obj
  });
});

最佳答案

编辑:(“引导日期时间选择器”确实支持 momentjs 日期)。

问题是值属性,您需要在读取它们后清除它们,或者将数据放入数据属性中。

Working jsfiddle

var date = $('#timer-date').val() + ' ' + $('#timer-time').val();
  console.log (date);   // 2016-12-15 20:54:00
  $('#timer-date').val("");
  $('#timer-time').val("");

  var date_obj = moment(date);
  console.log (date_obj); 
  // _d    Date {Thu Dec 15 2016 20:54:00 GMT+0000 (GMT Daylight Time)}

   $('#timer-date-wrapper').datetimepicker({
      format: 'LL',
      defaultDate: date_obj
  });

  $('#timer-time-wrapper').datetimepicker({
    format: 'LT',
    defaultDate: date_obj
  });

关于javascript - Bootstrap Datetimepicker 始终将日期设置为 2016 年 1 月 20 日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39357989/

相关文章:

css - Bootstrap 3 导航栏品牌颜色

html - 如何强制分隔线的位置,并将 Logo 放置在特定位置?

momentjs - 使用moment.js进行上午/下午转换的军事时间

javascript - 解析时间变量

javascript - Angular.js 装饰指令没有获得指令范围

javascript - 在 Sublime Text 2 中创建 javascript 函数 stub 的快捷方式

javascript - 你如何将 headroom.js 与 Bootstrap 3 导航栏一起使用?

javascript - 如何使用js检测html宽度大于viewport宽度?

javascript - 在对象中插入或替换值的方法

javascript - 为什么这些日期从 MongoDb 获取后结果为 'Invalid Dates'?