【问题标题】:Bootstrap datetimepicker don't work with readonly or disabled引导日期时间选择器不适用于只读或禁用
【发布时间】:2015-07-29 15:54:29
【问题描述】:

我的引导程序datetimepicker 有一个严重问题,这里是jsfiddle

<br/>
<!-- padding for jsfiddle -->
<div class="row">
    <div class="col-md-12">
         <h6>datetimepicker1</h6>

        <div class="form-group">
            <div class="input-group date" id="datetimepicker1">
                <input type="text" class="form-control" >   <span class="input-group-addon"><span class="glyphicon-calendar glyphicon"></span></span>
            </div>
        </div>
    </div>
</div>

问题是当我在移动设备中打开我的网站时,当我关注输入字段时会触发移动键盘,所以我需要的是只有datepicker 显示没有键盘。所以为此我使用readonlydisabled,但问题是当我使用其中一个时,引导程序datetimepicker 不起作用。 http://jsfiddle.net/faissal_aboullait/kx0e5wmq/1/

【问题讨论】:

标签: javascript jquery html twitter-bootstrap-3 datetimepicker


【解决方案1】:

如果您仍在寻找解决方案,请查看 sn-p。这正是我在评论中建议的,您只需使用

调用 datetimepicker
ignoreReadonly: true

就是这样。

$(function () {
  $('#datetimepicker').datetimepicker({
    ignoreReadonly: true
  });
});
.container {
  margin-top: 80px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.7.14/css/bootstrap-datetimepicker.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.7.14/js/bootstrap-datetimepicker.min.js"></script>
<div class="container">
  <div class="row">
    <div class="col-sm-12">
      <div class='col-sm-6 col-sm-offset-3'>
        <div class="form-group">
          <div class='input-group date' id='datetimepicker'>
            <input type='text' class="form-control" readonly />
            <span class="input-group-addon">
              <span class="glyphicon glyphicon-calendar"></span>
            </span>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

使用图标而不是文本字段来选择您的日期。文本字段是只读的。

【讨论】:

  • 你看过sn-p吗?如果您在小提琴中打开控制台,它会显示“ignoreReadonly 无法识别!”。那是因为您使用的是不同版本的 datetimepicker。只需使用我的 sn-p 中的依赖项,它就可以正常工作。
  • 我无法更改依赖项,因为我使用这个插件的主题。在不改变依赖关系的情况下还有其他解决方案吗?
  • 您可能只需要更改日期时间选择器,您尝试过吗?您已经在使用 datetimepicker 的第 4 版,我的 sn-p 中的构建是 4.7.14 版。因此,这不应该破坏您主题中的任何内容。尝试一下并交叉手指。无论您是否使用主题,如果您认为我的回答是一般问题的解决方案,您可能希望接受其他可能遇到相同问题的人的答案。
  • 你说服了我,经过测试,它在我的代码中运行良好。我接受了你的答案作为正确的答案。 Tnx 人
  • 我搜索了很多次,但是当我看到这个答案时,我又回到了引导 datetimepicker 文档,我已经太迟了,我没有意识到:D .. 对此表示支持
【解决方案2】:

put 语句中的子句 readonly="yes" 是可行的, 不包括实际需要的库,如下所示

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">  
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker.css" rel="stylesheet">  
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>  
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>  
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.js">    
</script>

【讨论】:

    【解决方案3】:

    这对我有用:

    .bootstrap-datetimepicker-widget.dropdown-menu  {
        width: 100%;
        max-width: calc(100%) !important;
    }
    

    【讨论】:

      【解决方案4】:

      以下子句 是可行的, 如果它不起作用,则仅意味着不包含所需的库,如下所示

      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">  
      <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker.css" rel="stylesheet">  
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>  
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>  
      <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.js">    
      </script>
      

      【讨论】:

      • readonly="yes" 在输入语句中适用于以下库。
      • 您已经添加了两次相同的答案。你能删除其中一个吗?另外,你能解释一下为什么你的答案比公认的答案更好吗?
      猜你喜欢
      • 1970-01-01
      • 2016-05-12
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多