实现Jquery Datetimepicker

我正在尝试将JQuery Datetimepicker实现到我的MVC应用程序中。 我已将所有引用添加到此但仍然抛出错误

GET http://localhost:53987/Home/assets/img/demo/m2.jpg 404 (未找到)

未捕获的TypeError:$不是函数

_Layout.cshtml代码

 !DOCTYPE html>      @ViewBag.Title - Arion Pedigrees @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr")   

这个代码:

  @Html.TextBoxFor(m => m.StartDate, new { @class = "form-control"}) @Html.TextBoxFor(m => m.FinishDate, new { @class = "form-control" }) 

然后是JavaScript代码:

     $.noConflict(); $(document).ready(function () { $("#StartDate").datepicker({ numberOfMonths: 1, onSelect: function (selected) { $("#FinishDate").datepicker("option", "minDate", selected) } }); $("#FinishDate").datepicker({ numberOfMonths: 1, onSelect: function (selected) { $("#StartDate").datepicker("option", "maxDate", selected) } }); });  

有人请指导我。 我不明白我哪里错了。 相同的代码适用于我的另一个应用程序。 任何帮助都非常感谢。

因为你在@RenderBody()之后的Layout.cshtml文件中有@Scripts.Render("~/bundles/jquery") ,所以你包含了jQuery-{version}.js (你的包中的@RenderBody()的副本jquery-ui.js脚本在你的视图中,它擦除了jquery-ui

删除jquery-1.12.4.js脚本和$.noConflict(); 视图中的代码行,并将所有脚本包装在@section scripts中的视图中,以便以正确的顺序加载脚本。

 @section scripts {   } 

请注意,因为布局中的bundle和@RenderSection("scripts", required: false)紧跟在结束标记之前,所以不必将脚本包装在$(document).ready(function () {

此外,您应该将jquery-ui.css文件移动到样式部分。

在布局中,在@Styles.Render("~/Content/css")并在视图中添加@RenderSection("styles", false)

 @section styles {  } 

你正在调用$.noConflict()将jQuery与$ var解除关联,这就是为什么,只是删除它

https://api.jquery.com/jquery.noconflict/