5

我正在尝试设置一个将使用 JQuery 的简单 Grails 2.1.1 应用程序

我有一个名为“TestController”的控制器和一个正确定位的 index.gsp。我手动添加了 JQuery 库,我没有使用 Grails 插件。我将“jquery-ui-1.8.24.custom.min.js”和“jquery-1.8.0.min.js”放在 web-app/js 中(位置正确,因为我可以看到 Jquery 的代码当我在浏览器中浏览我自己的代码并点击参考链接)

我想运行JQuery 的自动完成示例。代码如下所示:

<!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

why not use references to the resources dir?

<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 插件
  • 以正确顺序引用的 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

更改对 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 回答