我正在尝试包含一个具有最小和最大允许范围的时间字段,但是预先填充了数据库中可能不正确的值(超出范围)。如果不正确,我会向用户显示错误消息,以便他们进行更改。我使用keepInvalid和useCurrent,以便不会消除或更改不正确的值,但问题是当他们单击以弹出窗口小部件时,没有任何值可更改。时间只是说12:00:00,并且不允许你用箭头来改变它。删除keepInvalid和useCurrent会使时间再次更改,但它也会自动将不正确的值更改为最小值。
谁能告诉我我做错了什么?
<div class="formTimelineStartTime">
<div class="form-group control-group">
<div class="controls">
<div class="input-group date">
<input type="text" id="fldTBStartTime1" class="form-control input-sm" value="12:45:45 PM" readonly="readonly"/>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(function () {
$('#fldTBStartTime1').datetimepicker({
useCurrent: false,
keepInvalid: true,
format: 'hh:mm:ss A',
minDate: '7/6/2016 12:08:38 PM',
maxDate: '7/6/2016 12:30:14 PM',
ignoreReadonly: true
});
});
</script>
答案 0 :(得分:0)
好吧,我也有同样的问题,但是庄园不同
let maxCallback = ( acc, cur ) => ({ x: Math.max( acc.x, cur.x )});
我这样使用
但是当它超出范围时,如果 keepInvalid:false ,则该值将被删除,因为它是无效的日期。
如果您将它与 keepInvalid:true 一起使用,则由于您已经选择了年份并且超出了范围,所以它不会让您选择年份,您必须使用完整格式以查看发生了什么。