5

JQuery を使用する単純な Grails 2.1.1 アプリケーションをセットアップしようとしています。

「TestController」と呼ばれる 1 つのコントローラーと、適切に配置された index.gsp があります。JQuery ライブラリを手動で追加します。Grails プラグインは使用していません。web-app/js に「jquery-ui-1.8.24.custom.min.js」と「jquery-1.8.0.min.js」を配置しました(Jquery のコードが見えるので場所は正しいです)ブラウザで自分のコードを参照し、参照リンクをクリックします)

JQuery の Autocomplete サンプルを実行したいと考えています。コードは次のようになります。

<!DOCTYPE html>
<html>
<head>

<script src="../js/jquery-ui-1.8.24.custom.min.js" type="javascript"/>
<script src="../js/jquery-1.8.0.min.js" type="javascript"/>


<script>
    $(document).ready(function () {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme"
        ];
        $("#tags").autocomplete({
            source:availableTags
        });
    });
</script>

</head>

<body>


<div class="demo">

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>

</div><!-- End demo -->

オートコンプリートは今のところ機能しません。私は何が欠けていますか?

4

4 に答える 4

1

解決しました。

  • JQueryプラグインがインストールされていないことを確認しました
  • 正しい順序での JQuery 参照

    <script src="../js/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script src="../js/jquery-ui-1.8.24.custom.min.js" type="text/javascript"></script>
    
    <script>
        $(document).ready(function () {
            var availableTags = [
                "ActionScript",
                "AppleScript",
                "Asp",
                "BASIC",
                "C",
                "C++",
                "Clojure",
                "COBOL",
                "ColdFusion",
                "Erlang",
                "Fortran",
                "Groovy",
                "Haskell",
                "Java",
                "JavaScript",
                "Lisp",
                "Perl",
                "PHP",
                "Python",
                "Ruby",
                "Scala",
                "Scheme"
            ];
            $("#tags").autocomplete({
                source:availableTags
            });
        });
    </script>
    

于 2012-10-08T12:50:36.917 に答える
1

リソースディレクトリへの参照を使用しないのはなぜですか?

<script type="text/javascript" src="${resource(dir:'js',file:'jquery-1.8.0.min.js')}"</script>

<script type="text/javascript" src="${resource(dir:'js',file:'jquery-ui-1.8.24.custom.min.js')}"> </script>
于 2012-10-08T14:21:19.053 に答える
1

jQuery への参照を変更します。

<script src="../js/jquery-1.8.0.min.js" type="text/javascript" ></script>
<script src="../js/jquery-ui-1.8.24.custom.min.js" type="text/javascript" ></script>

少なくとも、私のコンピューターであなたの例を修正しました... :-)

于 2012-10-08T12:32:24.687 に答える
0

Grails でバグが発生していて、見つけるのに時間がかかりました。何らかの理由で、最初の JavaScript エントリが無視されて処理されます。問題を解決するには、リソースの前にスクリプト タグを追加する必要があります。そのようです。

<script type="javascript"/></script>
<script src="../js/jquery-ui-1.8.24.custom.min.js" type="javascript"/>
<script src="../js/jquery-1.8.0.min.js" type="javascript"/>

これが再テストされたら、修正する必要があります。

于 2012-10-08T12:43:06.933 に答える