脚本块在GSP页面中不起作用。有解决方案吗

时间:2015-10-14 08:46:40

标签: grails gsp

我在GSP页面中有脚本块,如下面的代码所示。但脚本块没有响应。我没有在页面的控制台中打印hello,而是获得错误undefined operator $。可能是什么原因?

getSpecificQuestion.gsp

<html>
<head>
    <script>
            $('.index').click(function() {
                console.log("hello")
            });
    </script>
    <title> Test </title>
</head>

<body>

<div id="question">
    <%= "question = $question"%>
</div>

<div id="indexButtons">

    <g:each in="${(1..<11)}" var="i">
        <input type="button" class="index" value="${i}"/>
    </g:each>

</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

显然你的gsp中没有包含任何jquery所以它抱怨丢失的$

确保在脚本块之前在gsp中包含jquery。如果您使用的是资源插件,则可以执行以下操作:

<html>
<head>
  <r:require module="jQuery1111"/>
  <r:script>
    $(function() {
      $('.index').click(function() {
        console.log("hello")
      });  
    })
  </r:script>
  <title> Test </title>
</head>

<body>

<div id="question">
  <%= "question = $question"%>
</div>

<div id="indexButtons">

  <g:each in="${(1..<11)}" var="i">
    <input type="button" class="index" value="${i}"/>
  </g:each>

</div>
</body>
</html>

使用该标记将在呈现所有DOM元素并准备好由脚本操作之后在页面底部呈现您的javascript。