从Orchard模块页面使用jQuery

我正在尝试使用搜索表单和按钮修改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>
}

相关文章

jQuery表单验证提交:前台验证一(图文+视频)
jQuery表单验证提交:前台验证二(图文+视频)
jQuery如何实时监听获取input输入框的值
JQuery怎么判断元素是否存在
jQuery如何实现定时重定向
jquery如何获取复选框选中的值