我正在尝试使用搜索表单和按钮修改Orchard.Search部分,以便我想要看起来和行为.为此,我需要使用一些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库的位置,我可以从该位置下载它,而没有可能.我还在页面中添加了一个小测试脚本,以查看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> }
解决方法
那么你的脚本需要在包含jQuery之后出现,否则$是无意义的.您可以通过使用@using(Script.Foot){…}来加载您的脚本:
@using(Script.Foot()) { <script type ="text/javascript"> //<![CDATA[ $(document).ready(function () { alert('page loaded'); }); //]]> </script> }