我在混合应用程序中使用引导 v3日期时间选择器。有一个标签显示应用程序中的日期和时间值。所以每当用户clicks on the label
它应该显示一个日期时间选择器来选择一个日期和时间。我已经实现了它并且运行良好。
Now when the picker pops up then I can set a date & time value to show when the picker poped up on screen.
$('#MetngSumryEditStartDateTime').data("DateTimePicker").date( moment( _defaultStDateTime ).format('Do MMMM YYYY, h:mm a') );
请记住,选择器需要有一个输入字段才能操作。因此,当我在设备上为其提供文本字段时,会出现软键盘!这在我的情况下现在确实是必需的,因为不允许用户在文本字段中输入,而是有一个标签来显示日期和时间的值。
为此,我给它一个复选框作为输入字段。现在选择器在Android devices
桌面browsers
上运行良好,chrome
但在iOS 上它不起作用。
这是完整的代码列表。
<div class="container">
<div class="row">
<div id='meetingSumDateTimeEndArea'>
<span class='start'>End</span>
<span class='time' id='meetingSumEndTime'>" + (UserProfile.getUserProfileDetails().MeetingEndTime[i]) + "</span>"
<span class='date' id='meetingSumEndDate'>" + UserProfile.getUserProfileDetails().MeetingEndDate[i] + "</span>"
</div>
<input type='checkbox' id='MetngSumryEditEndDateTime' />
</div>
</div>
<script type='text/javascript'>
$(function() {
var _defaultStTime ='9:00 pm'; // hardcoded for testing purpose
var _defaultStDate ='29 Mar, 2015'; // hardcoded for testing purpose
var _defaultStDateTime = _defaultStDate + ' ' + _defaultStTime ;
console.log('_defaultStDateTime=' + _defaultStDateTime ) ;
$('#meetingSumDateTimeEndArea').on('click', function(e){
$('#MetngSumryEditEndDateTime').focus();
});
$('#MetngSumryEditEndDateTime').datetimepicker( { format:'Do MMMM YYYY, h:mm a' , sideBySide: true , defaultDate: _defaultStDateTime } );
$('#MetngSumryEditEndDateTime').datetimepicker().on('dp.change',function(e) {
$('#MetngSumryEditEndDateTime').data("DateTimePicker").date( moment( _defaultStDateTime ).format('Do MMMM YYYY, h:mm a') );
console.log( e.date.format('DD MMM, YYYY') );
var tm = e.date.format('hh:mm a').split(' ');
console.log( tm[0] + " " + tm[1] );
console.log( e.date.format('hh:mm a') );
});
});
</script>
更新
我尝试了下面建议的 v4.13.28并设置focusOnShow: false
但仍然弹出键盘。我用文本字段试过这个。
现在我恢复到checkbox
现场以防止软键盘,但问题出在 iOS 上。
I give it an initial date and time value, so when a picker opens up on iOS device then first time it shows the current time
and if you change to another time and close the picker and reopen it again then it shows correct last modified time. 但是,在date的情况下,它会在打开时显示正确的提供日期。
所以处理日期很好,但只有第一次在时间值设置中有错误。
我如何解决这个问题?