2010-06-10 108 views
0

我完全不熟悉JQuery和MVC。JQuery datepicker不工作

我正在研究一个使用两者来学习它们的宠物项目,并且我已经打到了我的第一个障碍。

我有一个日期字段,我想将JQuery datepicker添加到UI。这是我做了什么:

新增<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script> 到的Site.Master

里面我Create.aspx(查看),我有

<asp:Content ID="Create" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2> 
     Create a Task</h2> 
    <% Html.RenderPartial("TaskForm"); %> 
    </asp:Content> 

和内部 “TaskForm”(用户控制)我有:

<label for="dDueDate"> 
      Due Date</label> 
     <%= Html.TextBox("dDueDate",(Model.Task.TaskID > 0 ? string.Format("{0:g}",Model.Task.DueDate) : DateTime.Today.ToString("MM/dd/yyyy"))) %> 

     <script type="text/javascript"> 
      $(document).ready(function() { 
       $("#dDueDate").datepicker(); 
      }); 
     </script> 

正如你所看到的,上面的检查,看是否有任务,有一个id> 0(我们不创建一个新的),如果是这样,它采用T上的日期他的任务,如果没有,它默认为今天。我希望在日期选择器UI元素展现出来,而是我得到:

“Microsoft JScript运行时错误:对象不支持此属性或方法”在$("#dDueDate").datepicker();

想法?这可能是一个非常简单的错误,所以不要过度分析。正如我所说,这是我第一次处理MVC或JQuery,所以我失去了从哪里开始。

+1

DatePicker是jQuery UI的一部分,而不是核心jQuery,你是否在你的页面上包含了这两个? – R0MANARMY 2010-06-10 20:11:35

+0

您必须要求ASP为您提供文本框的“客户端ID”。我不知道该怎么做,但有人会这样做。 – Pointy 2010-06-10 20:12:20

+0

谢谢大家 - 我只是选择了最古老的答案,因为你没事。添加了JQuery用户界面,它像一个魅力。 – IniTech 2010-06-10 20:24:02

回答

5

datepicker()jQuery UI方法,它看起来像你只使用jQuery。
您需要download,包括jQuery UI的除了jQuery的

请确保您下载兼容版本jQuery 1.3.2

1

您已包含jQuery库,但不包含jQueryUI库。你要做的是像这样的东西:

<script src="../../Scripts/jqueryui-1.8.1.min.js" type="text/javascript"></script> 
+0

当然这意味着你有jqueryui-1.8.1.min.js文件。您可以使用Google或MS CDN从此处检索此文件。 – Ololo 2010-06-10 20:13:13

+0

要使用1.8.1,他需要jQuery 1.4,而不是像他现在使用的1.3。 – R0MANARMY 2010-06-10 20:13:20