使用keepInvalid会冻结使用时间选择器的功能

时间:2016-07-06 19:40:46

标签: bootstrap-datetimepicker eonasdan-datetimepicker

我正在尝试包含一个具有最小和最大允许范围的时间字段,但是预先填充了数据库中可能不正确的值(超出范围)。如果不正确,我会向用户显示错误消息,以便他们进行更改。我使用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>

1 个答案:

答案 0 :(得分:0)

好吧,我也有同样的问题,但是庄园不同

let maxCallback = ( acc, cur ) => ({ x: Math.max( acc.x, cur.x )});

我这样使用

但是当它超出范围时,如果 keepInvalid:false ,则该值将被删除,因为它是无效的日期。

如果您将它与 keepInvalid:true 一起使用,则由于您已经选择了年份并且超出了范围,所以它不会让您选择年份,您必须使用完整格式以查看发生了什么。