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>

しかし、それは決して起動されず、次のスクリプト エラーが発生します: Uncaught ReferenceError: $ is not defined

私はこれにうんざりしています、あまりにも面倒ですが、私はそれをすべて間違っていると思います...

編集: 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 に答える