2010-06-10 103 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