2011-02-25 59 views
12

我試圖修改Orchard.Search部分與搜索窗體和按鈕的外觀和行爲,如我所願。爲此,我需要使用一些jQuery功能。使用jQuery從果園模塊頁

我已將此添加到Search.SearchForm.cshtml文件的標題:

Script.Require("jQuery"); 

,我可以從輸出的頁面是jQuery的加入,在HTML的底部看到,就在結束標記之前:

<script src="/Orchard.Web/Modules/Orchard.jQuery/scripts/jquery-1.4.2.js" type="text/javascript"></script> 

看起來很好。這是jQuery庫的地方,我可以從該位置下載它,而無需probs。我還添加在頁面中的小測試腳本只是爲了看看jQuery的正常工作:

<script language="javascript" type ="text/javascript"> 

$(document).ready(function() { 
    alert('page loaded'); 
}); 

</script> 

但它從未解僱,我得到這個腳本錯誤:未捕獲的ReferenceError:$沒有定義

我越來越厭倦這樣,太多的麻煩,但我想我做的一切都是錯的......

編輯:新增jQuery的標籤,並試圖約Script.Foot建議答案()這似乎工作:

@using(Script.Foot()) { 
    <script type ="text/javascript"> 
    //<![CDATA[ 
     $(document).ready(function() { 
      alert('page loaded'); 
     }); 
    //]]> 
    </script> 
} 
+1

請使用與jQuery的問題 「jQuery的」 標籤。謝謝。 – 2011-02-25 16:51:11

回答

25

那麼,你的腳本需要在包含jQuery後出現,否則$是沒有意義的。您可以通過使用@using(Script.Foot)surrouding它添加腳本{...}:

@using(Script.Foot()) { 
    <script type ="text/javascript"> 
    //<![CDATA[ 
    $(document).ready(function() { 
     alert('page loaded'); 
    }); 
    //]]> 
    </script> 
} 
+0

當然,這是問題所在。但是你建議使用的(Script.Foot)代碼會崩潰:CS1674:'method group':using語句中使用的類型必須隱式轉換爲'System.IDisposable',這很奇怪。 – 2011-02-26 12:26:07

+0

啊,讓它工作! @using(Script.Foot())缺少括號:)。非常感謝您的幫助。 – 2011-02-26 12:30:13

+0

謝謝,我修復了這個示例。 – 2011-02-28 18:43:49