2011-06-06 55 views
0

好的,所以我想切换从必须输入手动日期和时间使用jquery选择日期和时间。问题得到日期选取器显示与MVC 2

我觉得这太难了。

笔者认为:

<%= 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显示出来。

有没有人有想法我做错了什么?

+0

你确定'jquery-ui-timepicker-addon.js'是插件文件名的正确值,'datetimepicker'是正确的函数名吗? – 2011-06-06 17:48:46

回答

3

尝试等待文件是操纵它之前准备好,否则当时您执行$('.dp')选择没有相应的元素尚未加载:

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

另一种可能是在年底提出这个脚本的文件(在关闭</body>之前)。这样你不再需要把它包装在一个document.ready处理程序中。

+0

这两个选项都没有工作:( – James 2011-06-06 17:03:33

+0

@詹姆斯,你会得到一些JavaScript错误或什么?你检查FireBug控制台吗?你的JavaScript文件的路径是否正确?我看到你已经硬编码他们,而不是使用URL助手,这是正确的方法来包括静态资源 – 2011-06-06 17:06:05

+0

检查萤火虫,发现我的问题,谢谢!原来我的文件是在脚本文件夹中,而不是内容,我从来没有改变它从我以前的东西使用我也改变了我的路径使用网址帮手,谢谢你的提示! – James 2011-06-06 17:48:57