#jquery #ruby-on-rails-3 #jquery-ui
#jquery #ruby-on-rails-3 #jquery-пользовательский интерфейс
Вопрос:
Пытаюсь настроить jQuery и jQuery UI в моем приложении rails 3.1.1
На мой взгляд, у меня
<a href="#" id="test_link1">Test</a>
<div id="dialog-modal" title="Basic modal dialog" style="display:none;">
<p>Adding the modal overlay screen makes the dialog look more prominent because it dims out the page content.</p>
</div>
<script type="text/javascript">
$( "#test_link1" ).click(function() {
('#dialog-modal').dialog();
});
Это не работает. Когда я проверяю, я получаю
storages:105TypeError: 'undefined' is not a function (evaluating '('#dialog-modal').show()')
});
В application.js . Файлы загружены
//= require jquery
//= require jquery_ujs
//= require jquery-ui.min
Ответ №1:
Изменить ('#dialog-modal').dialog();
на
$("#dialog-modal").dialog();
Вы забываете jQuery($), поэтому нет объекта jQuery для работы.
Ответ №2:
Вам нужно добавить знак доллара:
$('#dialog-modal').dialog();
Комментарии:
1. должна быть другая ошибка, но вы могли бы попробовать обернуть ее в функцию doc ready
$(function(){ // put code here });
2. Я бы очистил кеш и попробовал еще раз. Кроме этого, убедитесь, что файлы js загружаются.
3. Это допустимая скрипка jsfiddle.net/mcgrailm/QLKxX возвращает ту же ошибку
4. У меня это работает в Chrome, ie и ff. в каком браузере вы получаете сообщение об ошибке?
Ответ №3:
Оберните свой код в готовый обработчик:
$(function(){
$( "#test_link1" ).click(function() {
$('#dialog-modal').dialog();
});
});
Комментарии:
1. Все еще забываю $ на
("#dialog-modal").dialog();
2. @SamStriano: обновлено, прежде чем увидеть ваш комментарий 🙂
3. Спасибо, но ошибка
<script type="text/javascript"> $(function(){ $( "#test_link1" ).click(function() { $('#dialog-modal').dialog(); }); }); </script>
все еще присутствуетstorages:106TypeError: 'undefined' is not a function (evaluating '$('#dialog-modal').dialog()')
4. @Gaelle: убедитесь, что все скрипты правильно загружены на вашей странице.
5. Это допустимая скрипка jsfiddle.net/mcgrailm/QLKxX тоже не работает, так что проблема где-то в другом месте