日期时间选择器在选择时消失
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>
我有一个日期时间选择器。
<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>