在 bootstrap datetimepicker 中插入标签

Insert label inside bootstrap datetimepicker

有没有办法将 hour/minute 标签添加到 eonasdan 的 bootstrap 日期时间选择器,如屏幕截图所示?

正如 ceejayoz 在评论中所述,日期时间选择器不包含此类功能。该库是开源的,您可以按照建议自定义代码和外观。

另一种方法是在显示选择器时在 小时和分钟 行下动态添加一行。您可以将监听器添加到 dp.show 事件,然后使用 jQuery 来操作选择器 HTML.

这是一个工作示例:

$('#datetimepicker1').datetimepicker({
  format: 'HH:mm'
});

$('#datetimepicker1').on('dp.show', function(){
  // Check timepicker is visible
  if( $('.timepicker').is(':visible') ){
    // Get rows of the timepicker
    var rows = $('.timepicker>.timepicker-picker>table>tbody>tr');
    // Create html for custom text
    var tr = '<tr class="customText"><td>hours</td><td class="separator"></td><td>minutes</td></tr>';
    // Add custom HTML inside component
    $(rows[1]).after(tr);
  }
});
.bootstrap-datetimepicker-widget table tr.customText td {
  height: 24px;
  line-height: 24px;
}
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>


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

日期时间选择器有 debug 选项,如果设置为 true:

Will cause the date picker to stay open after a blur event.