使用MVC 2显示日期选择器的问题

时间:2011-06-06 16:51:15

标签: asp.net-mvc asp.net-mvc-2

好吧,所以我试图从必须输入手动日期和时间切换到使用jquery来选择日期和时间。

我认为这太难了。

我的观点:

<%= Html.LabelFor(x => x.DDate) %>       
<%= Html.EditorFor(x => x.DDate) %>
<%= Html.ValidationMessageFor(x => x.DDate)%> <br />

我的Site.Master(我也使用它:http://trentrichardson.com/examples/timepicker/):

<script type="text/javascript" src="/Content/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="/Content/jquery-ui-1.8.6.custom.min.js"></script>
<script type="text/javascript" src="/Content/jquery-ui-timepicker-addon.js"></script>
<script  type="text/javascript">
        $('.dp').datetimepicker({
            ampm: true
        }); 
</script>

DateTime.ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>  
<%= Html.TextBox("",  String.Format("{0:MM-dd-yyyy}", Model.HasValue ? Model : DateTime.Today), new { @class = "dp"})%>  

现在我知道有些事情在我加载页面时工作正常,有一个日期预设与今天的日期。

然而,当我点击文本框时,NOTHING显示出来。

有没有人知道我做错了什么?

1 个答案:

答案 0 :(得分:3)

在操作之前尝试等待文档准备就绪,否则在执行$('.dp')选择器时,尚未加载相应的元素:

<script type="text/javascript">
    $(function() {
        $('.dp').datetimepicker({
            ampm: true
        }); 
    });
</script>

另一种可能性是在文档末尾移动此脚本(在结束</body>之前)。这样您就不再需要将其包装在document.ready处理程序中。