12

我正在尝试使用搜索表单和按钮修改Orchard.Search部分,以按照我的意愿进行外观和行为。为此,我需要使用一些 jQuery 功能。

我将此添加到Search.SearchForm.cshtml文件的标题中:

Script.Require("jQuery");

我可以从页面的输出中看到在 html 底部添加了 jquery,就在结束标记之前:

<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>
}
4

1 回答 1

25

好吧,你的那个脚本需要在包含 jQuery 之后出现,否则 $ 是没有意义的。您可以通过使用 @using(Script.Foot) { ...} 来添加您的脚本:

@using(Script.Foot()) {
    <script type ="text/javascript">
    //<![CDATA[
    $(document).ready(function () { 
        alert('page loaded');
    });
    //]]>
    </script>
}
于 2011-02-26T06:58:47.807 回答