3

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

1 回答 1

0

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

$('#date').datetimepicker({
    format:'MMM-DD',
    ignoreReadonly:true,
    viewMode:'months', 
    minDate: new Date(year, 00, 01, 00, 00),
    maxDate: new Date(year, 12, 00, 00, 00),
    showClear:true,
    useCurrent: false,
    keepInvalid:true
});

我这样用

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

如果您将它与keepInvalid:true一起使用,那么它不会让您选择,因为年份已经被选择并且超出范围无效,您必须输入完整格式以查看发生了什么。

于 2020-06-27T10:30:21.103 回答