我知道这是论坛中的常见问题,而且我已经阅读了很多页面,但仍然无法让它发挥作用,所以任何帮助都会受到高度赞赏。
我正在构建一个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中。
有什么建议吗?
此致 克雷格
答案 0 :(得分:2)
从
更改脚本$("#datepicker").datepicker();
到
$(".datepicker").datepicker();
第一个选择器正在查找ID为“datepicker”的元素,而您对使用datepicker类的元素感兴趣。
您还应该将脚本包装在文档就绪处理程序中,以确保DOM已准备就绪。有关信息,请参阅here。
<script>
$(document).ready(function () {
$(".datepicker").datepicker();
});
</script>