【问题标题】:Getting jQuery DatePicker to work in Internet Explorer 9让 jQuery DatePicker 在 Internet Explorer 9 中工作
【发布时间】:2014-12-12 12:37:12
【问题描述】:

我知道这是论坛中的常见问题,并且我已经阅读了很多页面,但仍然无法使其正常工作,因此非常感谢任何帮助。

我正在构建一个 MVC 5 应用程序,但我需要支持 IE9,它是最终用户的主要浏览器。因此我可以假设支持 HTML 5。

从读数看来,非 HTML5 DatePicker 最常见的选择是使用 jQuery。

我做了什么来完成这个工作:

添加到 _Layouts.cshtml 文件中:

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>

在我的视图文件中我添加了:

<div>
    <div id="datepicker"></div>
    <script>
        $("#datepicker").datepicker();
    </script>
</div>

它工作正常并显示一个日期选择器对象。

但是,我试图将其与模型的 FromDate 属性相关联,因此我尝试了: (借用Remove time from ASP MVC @Html.TextBoxFor Control using jQuery datepicker

    <div>
        <div class="col-md-2">
            Start date
        </div>
        <script>
            $("#datepicker").datepicker();
        </script>
        <div>
            @Html.TextBox("StartDate", "", new { @class = "datepicker" } ))
        </div>
    </div>

但它没有显示日期选择器弹出对象 - 在我的开发 PC 上的 IE11 或 Chrome 中。

有什么建议吗?

问候 克雷格

【问题讨论】:

  • 那么这和IE9完全没有关系。你说日期选择器在 IE9 中工作,并且你的代码关联它在 IE11 或 Chrome(或者,大概是 IE9)中工作。最好不要将人们的注意力集中在没有问题的事情上。

标签: jquery asp.net-mvc datepicker


【解决方案1】:

更改您的脚本

$("#datepicker").datepicker();

$(".datepicker").datepicker();

第一个选择器正在寻找 ID 为“datepicker”的元素,而您对具有 datepicker 类的元素感兴趣。

您还应该将您的脚本包装在一个文档就绪处理程序中,以确保 DOM 已准备就绪。有关信息,请参阅here

<script>
    $(document).ready(function () {
        $(".datepicker").datepicker();
    });
</script>

【讨论】:

  • 我相信他还必须将该脚本标签移动到 之后 div,因为脚本会立即运行,因此元素不会还存在。
  • 您好,感谢您的 cmets。我改变了,所以现在查看包括:
    开始日期
    @Html.TextBox("StartDate", "", new { @class= "datepicker " }))
    IE 给出错误:“行:117 错误:对象不支持属性或方法 'datepicker'”。第 117 行是: (".datepicker").datepicker();克雷格
  • @JamieDunstan: “你还应该将你的脚本包装在一个文档就绪的处理程序中......” 最佳做法是将脚本放在&lt;/body&gt; 的末尾,如果你不控制脚本的去向,你只需要ready
  • @CraigRoberts:看一下那条线。它的前面缺少什么?提示:现在你正试图在一个字符串上调用.datepicker
  • 我错过了 (".datepicker").datepicker 前面的 $。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多