【问题标题】:DateTimePicker is not showingDateTimePicker 未显示
【发布时间】:2013-03-27 06:49:53
【问题描述】:

我在 MVC4 中的 jquery 中遇到了日期时间选择器的问题。这是我的代码:

 @Html.TextBox("RELIEVING_DATE", Model.RELIEVING_DATE)


$(function () {
    $("#RELIEVING_DATE").datepicker();
}

但是日期时间选择器没有显示并显示错误

Uncaught TypeError: Cannot read property 'inline' of undefined"

在我的模型中,RELIEVING_DATE 是一个可为空的字段。我想给它一个默认值。

请帮忙。

【问题讨论】:

  • 浏览器控制台中的任何错误
  • 未捕获的类型错误:无法读取未定义的属性“内联”
  • 您是否在代码运行之前加载了 jquery?你试试怎么样:$(document).ready(function(){ $("#RELIEVING_DATE").datepicker(); });
  • @vonv。除了缺少右括号和分号之外,显示的 jQuery 与您的建议相同 - 它是 jQuery 就绪事件的另一种形式。
  • @vonv。你的方法对我有用。我在局部视图中调用 datepicker(),所以我需要在 document.ready 上进行。谢谢

标签: jquery asp.net-mvc asp.net-mvc-4 jquery-ui-datepicker


【解决方案1】:

我在您发布的脚本中注意到的第一件事是您的 $(function () { 在末尾缺少一个结束 );

还要确保您在页面中正确包含了 jQuery 和 jQuery UI 脚本。如果您使用捆绑包,您可能需要在附加日期选择器的脚本之前添加以下脚本:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")

如果您使用 Internet 应用程序模板创建项目,~/bundles/jquery 包通常已包含在 _Layout.cshtml 中。

您应该验证的另一件事是您没有多个具有相同 ID 的字段。此外,如果此@Html.TextBox 在编辑器模板中,则 id 可能不是#RELIEVING_DATE,而是以导航属性为前缀,例如#SomeProperty_RELIEVING_DATE。在浏览器中查看生成的 HTML 以查看确切的 id。您还可以为该字段分配一个类:

@Html.TextBoxFor(x => x.RELIEVING_DATE, new { @class = "datepicker" })

然后:

$(function () {
    $('.datepicker').datepicker();
});

【讨论】:

  • 感谢它的工作。还有一个问题如何将默认日期设置为当前日期。
  • 在呈现此视图的控制器操作中,您可以在模型上设置属性:model.RELIEVING_DATE = DateTime.Now;
  • 谢谢。是否可以在日期时间选择器中设置日期格式(dd/mm/yyyy)?
  • Uncaught TypeError: Cannot read property 'inline' of undefined" 错误仍然显示。
【解决方案2】:

我发现了同样的错误,这是因为我多次加载脚本。

我在主页上有以下内容,以及里面的子页面。

 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-15
    • 2018-01-06
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多