【问题标题】:Datepicker not loading in IE - MVC 4, RazorDatepicker 未在 IE 中加载 - MVC 4,Razor
【发布时间】:2016-01-24 12:49:43
【问题描述】:

下面需要你的帮助。

我在我的视图中为 datepicker 提供了以下代码,它在 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>

【问题讨论】:

  • 尝试删除type = "date"。如果它没有生成日期选择器,则意味着您的脚本没有加载(type = "date" 生成浏览器日期选择器,而不是 jquery 日期选择器,它仅在 Chrome 中受支持)

标签: c# jquery model-view-controller razor datepicker


【解决方案1】:

IE 不支持“数据”属性。 输入类型 DATE 是一种 HTML5 功能,并非所有浏览器都支持。如果您想使用浏览器(通常是 IE)不支持的 HTML5 功能,请使用以下两件事:

特征检测 填充物 功能检测是确定我们的浏览器是否支持 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 测试是否支持该功能,您可以选择使用 nope 指示是否有一个库,如果该功能不支持,您只希望加载,回调是在测试后调用的代码,并且加载库后。

【讨论】:

    猜你喜欢
    • 2018-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    相关资源
    最近更新 更多