2015-10-14 5 views
0

У меня есть блок сценариев на странице GSP, как показано в приведенном ниже коде. Но блок сценария не отвечает. Вместо того, чтобы печатать привет в консоли страницы, я получаю ошибку undefined operator $. В чем причина?Блок сценариев не работает на странице GSP. Любое решение?

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>

+0

Вы можете проверить, есть ли у вас плагин jquery? в BuildConfig.groovy – Neoryder

+0

Yeap Neoryder, у меня установлен плагин jquery. –

+0

Положите '$ ('. Index'). Щелкните ...' внутри '$ (document) .ready ...' –

ответ

0

Видимо ваш GSP не включал JQuery в нем, так что жаловались на отсутствие $

Убедитесь, что вы включили в JQuery ваш gsp перед блоком вашего скрипта. Если вы используете плагин ресурсов вы можете сделать что-то вроде этого:

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

Использование тега сделает ваш JavaScript в нижней части страницы после того, как все элементы DOM уже придана и готовы манипулировать скриптами ,

 Смежные вопросы

  • Нет связанных вопросов^_^