我使用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,但是当它不是时显示值?
答案 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'));
});
答案 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)
});
});