日期时间选择器在选择时消失

datetimepicker dissappears upon selection

我有一个日期时间选择器。

<input id="all-day-event-date" type="text">

这是一个输入文本框。我在加载文档时触发它聚焦:

$('#all-day-event-date').trigger("focus");

我的输入字段和我的 calendar/picker 出现了,正如预期的那样。

$("#all-day-event-date").datetimepicker({
    timepicker: false,
    onChangeDateTime: function(dp, $input) {
        var datetime = $input.val();
        var date = datetime.split(" ")[0];
        $input.val(date);
    }
});

看起来像这样:

但是,一旦我 select 约会,日历就会消失:

如何让它留下来?

这个问题和之前问的不一样。当我尝试内联解决方案时:

<div style="overflow:hidden;">
    <div class="form-group">
        <div class="row">
            <div class="col-md-8">
                <div id="datetimepicker12"></div>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        $(function () {
            $('#datetimepicker12').datetimepicker({
                inline: true,
                sideBySide: true
            });
        });
    </script>
</div>

这是怎么回事:

而且当我按下home键时在线显示正常:

这不是我想要的行为。我希望日历在加载后立即出现并且之后永远不会消失,让用户 select 和 reselect 无需单击其他框。

添加 focusout 以在选择日期时从日期选择器输入框中移除焦点

$('#all-day-event-date').focusout();

现在,在您关注输入后,日期选择器应该会再次出现。

这是我发现非常有用的 fiddle JSFiddle

编辑:如果您希望您的日期选择器完全不消失,请阅读此 answer

Use inline calendar with altField

<input type="text" id="alternate" size="30" />
<div id="datepicker"></div>

<script>
   $("#datepicker").datepicker({
      altField: "#alternate"
   });
</script>