Bootstrap 3 datetimepicker启用了HTML值

时间:2016-01-06 20:15:10

标签: jquery twitter-bootstrap datetimepicker

我使用Bootstrap 3 datetimepicker作为时间选择器以及enabledHours选项 - 它工作正常,但我无法覆盖它附加到的文本框的显示值。

要拨打我正在使用的选择器:

$('.datetimepicker').each(function() {
  $(this).datetimepicker({
    showClose: true,
    format: "HHmm",
    enabledHours: [14, 15, 16, 17, 18],
    sideBySide: true
  });
});

然后在我的HTML中使用:

<div class='input-group date datetimepicker'>
    <input type='text' class="form-control" />
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>

由于这一点,它的行为符合预期 - 但是,通常时间已经从PHP设置,如下所示:

    <input type='text' value="1600" class="form-control" />

在这种情况下,文本框始终显示1400(或enabledHours中的第一个值) - 如果我处理表单,即使它显示1400,并且如果我手动将表单更改为1500,则会尊重值1600,例如,它正确提交,但在显示屏上它总是回落到1400.

有没有办法停止这个,所以如果值是空白则显示1400,但是当它不是时显示值?

https://jsfiddle.net/dnb2ajc8/2/

2 个答案:

答案 0 :(得分:1)

初始化datetimepicker时,您可以设置默认值。我不是专家,但这是一个肮脏的解决方案:

$('.datetimepicker').each(function() {
  $(this).datetimepicker({
    showClose: true,
    format: "HHmm",
    enabledHours: [14, 15, 16, 17, 18],
    sideBySide: true
  }).find('input').val($(this).find('input').attr('value'));
});

https://jsfiddle.net/qxwa8bh0/

答案 1 :(得分:-1)

<强>已更新

您可以设置默认日期,但此方法不使用该属性。

 $('.datetimepicker').each(function() {
   var date = new Date();
   $(this).datetimepicker({
     showClose: true,
     format: "HHmm",
     enabledHours: [14, 15, 16, 17, 18],
     sideBySide: true,
     defaultDate: date.setHours(15, 27, 0, 0)
    });
});

This is the JSFiddle updated