请使用 rails 3 和 jquery-ui.
来帮助解决这个问题。在我看来,我有:
<div class="container">
<div class="contents">
<% @questions.each do |question| %><br />
<li>
<button class="opendialog">Delete</button>
<div class="info" title="Delete Request">
Question:<b><%= question.content %></b>
</div>
</li>
<% end %>
</div>
</div>
在我的申请中.js我有:
$(function() {
$('.opendialog').each(function() {
$.data(this, 'dialog',
$(this).next('.info').dialog({
autoOpen: false,
modal: true
})
);
}).click(function() {
$.data(this, 'dialog').dialog('open');
return false;
});
});
我遇到的问题是,当我单击它们各自的按钮时,没有一个对话框打开。这里的代码在 jsfiddle 中运行良好,但在我的代码中没有运气。我该如何解决这个问题。在我的应用程序中,有些地方我打开单个对话框并且可以正常工作,只是此代码不想在单击相应的按钮时打开对话框。
感谢您的帮助。
经过一番谷歌搜索,我发现我的样式表加载不正确。我包含了这样的.js文件
1). 使用 -J 创建新的项目跳过原型:
rails new -J test -d mysql
2). 修改宝石文件,添加 JQuery:
gem 'jquery-rails'
3). 捆绑包更新:
bundle update rails
4). 生成器 JQuery, --ui 表示与 JQuery UI:
rails generate jquery:install --ui
5). 修改配置/应用程序.rb:
config.action_view.javascript_expansions[:defaults] = %w(jquery jquery-ui rails application)
请注意我在 application.rb 文件中是如何加载 application.js的。
然后在我的应用程序.html.erb 文件中,我在应用程序中加载.js像这样
<%= javascript_include_tag :defaults %>
但是,当我查看html的源代码时,我注意到该应用程序.js被加载了两次,导致冲突。
在 application.rb 中,我将行更改为:
config.action_view.javascript_expansions[:defaults] = %w(jquery jquery-ui rails)
重新启动服务器,一切都很好。简单错误