【问题标题】:Calendar not showing up in Bootstrap datetimepicker日历未显示在 Bootstrap 日期时间选择器中
【发布时间】:2015-07-24 03:59:08
【问题描述】:

我正在使用以下代码实现引导日期时间选择器:

<div class="container">
    <div class="row">
        <div class="col-sm-6">
            <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 glyphicon-calendar"></span>
                    </span>
                </div>
            </div>
        </div>
    </div>
</div>

我已包含以下脚本和样式:

我的输出如下所示:

包含文件的顺序是:

@Styles.Render("~/Content/css")
@Styles.Render("~/Content/Styles/PreLayout.css")

@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/moment")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/Scripts/JavaScripts/PreLayout.js")

当我点击日历图标时,没有任何反应。我在实施过程中犯了什么错误?

编辑:

添加提琴手:http://jsfiddle.net/1c1nr9sp/4/

【问题讨论】:

  • 您是否添加了引导日期选择器 js 文件?并添加参考?
  • 为人们提供一个工作示例(例如 sn-p 或 fiddle)真的很有帮助,因此我们很容易看到并解决您的问题。否则,我们将不得不设置整个环境并自己获取库以确保我们的解决方案有效,而大多数人宁愿不花时间去做。 Making a easily reproducible example can greatly help getting an answer.
  • @ZohaibWaqar 我添加了 bootstrap-datetimepicker.min.js。
  • 运行您的应用程序,当页面加载时按 f12 并转到控制台,然后检查错误。然后点击日历并再次检查错误并告诉我///
  • @ZohaibWaqar 我在任何一个操作(加载和点击)中都没有看到任何错误,但它仍然不起作用。

标签: javascript jquery css twitter-bootstrap datetimepicker


【解决方案1】:

问题的原因是,您没有按正确的顺序放置参考脚本。

查看文档:http://eonasdan.github.io/bootstrap-datetimepicker/Installing/

$('#datetimepicker1').datetimepicker();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

<script src="http://cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/a549aa8780dbda16f6cff545aeabc3d71073911e/src/js/bootstrap-datetimepicker.js"></script>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>

<link href="http://cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/a549aa8780dbda16f6cff545aeabc3d71073911e/build/css/bootstrap-datetimepicker.css" rel="stylesheet"/>

<div class="container">
    <div class="row">
        <div class='col-sm-6'>
            <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 glyphicon-calendar"></span>
                    </span>
                </div>
            </div>
        </div>
        
    </div>
</div>

【讨论】:

  • 感谢 Vimalan。我用您的答案链接中的引导程序日期时间 js 和 css 替换了它,它起作用了。现在我可以看到日历。但是我仍然发现选择器在我的问题中的快照中出现了失真。能否请您也提出原因?
  • @ATP,我无法重现选择器失真问题...一个原因可能是,.form-control css 可能在您的其他 css 文件中的某处被覆盖...它将是如果您可以更新反映该问题的提琴手有帮助吗?
  • 即使我无法在提琴手中重现它。似乎是一些本地系统问题。谢谢您的帮助。 :)
  • 我从 Bower 中提取的文件也有问题。有什么东西在默默地失败。用你所拥有的替换了我的参考,它现在可以工作了。谢谢。
【解决方案2】:

至于文本框和日历图标之间的间距混乱,我可以通过注释掉该行来解决这个问题:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />

我的项目会为我处理这个问题。 ASP.net/MVC 我还将 col-sm-6 更改为 col-sm-12。

【讨论】:

    【解决方案3】:

    我在使用 jQuery 3.x 时遇到了问题。 (最新版本的 Bootstrap 3 支持 jQuery 3)。下拉菜单将部分呈现,但没有日历。时间选择器部分工作正常。

    降级到 jQuery 2.x 解决了这个问题。

    【讨论】:

    • 所以没有希望让它与 jQuery 3.x 一起工作?我不得不升级 jQuery 以使用另一个库,这发生了......
    • @mrrrk 请检查您的 css 文件一次。我面临同样的问题。对我来说,它是 display: none。
    【解决方案4】:

    您可能还想检查您使用的图标集。 有多种字体图标集,如Font AwesomeMaterial DesignBootstrap glyphicons等。

    默认情况下DateTimePicker 使用Bootstrap glyphicons,但您可以为所有其他内容指定自定义图标。

    icons:{
                time: 'glyphicon glyphicon-time',
                date: 'glyphicon glyphicon-calendar',
                up: 'glyphicon glyphicon-chevron-up',
                down: 'glyphicon glyphicon-chevron-down',
                previous: 'glyphicon glyphicon-chevron-left',
                next: 'glyphicon glyphicon-chevron-right',
                today: 'glyphicon glyphicon-screenshot',
                clear: 'glyphicon glyphicon-trash',
                close: 'glyphicon glyphicon-remove'
            }
    

    参考-http://eonasdan.github.io/bootstrap-datetimepicker/Options/#icons

    【讨论】:

      【解决方案5】:

      类似的问题,但不同的解决方案

      它特定于 ASP.NET Core 项目。在默认的 Visual Studio 模板中, 所有输入标签的最大宽度都设置为 280px,如下所示:

      文件: site.css

      /* Set widths on the form inputs since otherwise they're 100% wide */
      input,
      select,
      textarea {
          max-width: 280px;
      }
      

      只需删除它,日历图标就会放在正确的位置:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-21
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 1970-01-01
        • 2015-08-05
        • 2022-08-07
        相关资源
        最近更新 更多