在IE - MVC 4, Razor中无法加载日期选择器

本文关键字:加载 日期 选择器 Razor IE MVC | 更新日期: 2023-09-27 18:19:12

下面需要你的帮助

我已经在我的视图下面的代码为日期选择器,它在chrome中工作完美,但在IE中没有加载。

<script language="javascript" type="application/javascript">
    $(document).ready(function () {
        $("#StartDate").datepicker();
        $("#EndDate").datepicker();
    });
 </script>
@Html.LabelFor(m => m.StartDate)
@Html.TextBoxFor(m => m.StartDate, new { style = "width:200px;height:34px;", type = "date" })

下面是_layout.cshtml

中添加的引用
<script src="~/obj/Scripts/jquery-1.7.1.js"></script>
<script src="~/obj/Scripts/jquery.ui.datepicker.js"></script>

在IE - MVC 4, Razor中无法加载日期选择器

IE不支持"data"属性。输入类型DATE是HTML5特性,并非所有浏览器都支持。如果你想使用你的浏览器(通常是IE)不支持的HTML5功能,那么使用两件事:

功能检测Polyfills功能检测是一种判断浏览器是否支持HTML5功能的能力。Modernizr是一个很好的图书馆。你可以用modernizr检测你需要的功能是否不支持,如果不支持,你可以有条件地加载一些javascript库来实现该功能。这些库被称为Polyfills。

例如,如果你想在IE 10中使用标签,你可以使用jqueryui.com控件来提供日期选择器。

Modernizr.load({
test: Modernizr.inputtypes.date,
nope: "js/jquery-ui.custom.js",
callback: function() {
  $("input[type=date]").datepicker();
}

});

Modernizr tests是支持的特性,您可以选择使用nope来指示是否有一个库,只有在不支持该特性的情况下才希望加载该库,而callback是在测试和加载库之后调用的代码。