让jQuery DatePicker在Internet Explorer 9中工作

时间:2014-12-12 12:37:12

标签: jquery asp.net-mvc datepicker

我知道这是论坛中的常见问题,而且我已经阅读了很多页面,但仍然无法让它发挥作用,所以任何帮助都会受到高度赞赏。

我正在构建一个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>

工作正常并显示一个datepicker对象。

但是,我试图将此与我的模型的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中。

有什么建议吗?

此致 克雷格

1 个答案:

答案 0 :(得分:2)

更改脚本
$("#datepicker").datepicker();

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

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

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

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