Javascript 页面刷新后显示为div的对话框
我正在尝试创建一个单页CRUD。 现在,我在show函数中遇到了一些错误 该应用程序的示例可在此处找到: 它似乎工作正常。 创建后,如果页面未刷新,show函数可以正常工作 但是,如果刷新,该对话框将停止作为对话框工作,并仅显示为div 您可以通过创建一个用户并单击show函数来尝试。然后尝试刷新页面,相同的div只会显示在页面上,而不是作为对话框显示 可在此处找到来源: 相关代码: 该对话框是显示窗体Javascript 页面刷新后显示为div的对话框,javascript,jquery,ruby-on-rails,ajax,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,我正在尝试创建一个单页CRUD。 现在,我在show函数中遇到了一些错误 该应用程序的示例可在此处找到: 它似乎工作正常。 创建后,如果页面未刷新,show函数可以正常工作 但是,如果刷新,该对话框将停止作为对话框工作,并仅显示为div 您可以通过创建一个用户并单击show函数来尝试。然后尝试刷新页面,相同的div只会显示在页面上,而不是作为对话框显示 可在此处找到来源: 相关代码: 该对话框是显示窗体 <tr id = "<%= dom_id user%>">
<tr id = "<%= dom_id user%>">
<td><%= user.user_name %></td>
<td><%= user.email %></td>
<td><%= user.password %></td>
<td><%= user.account_type %></td>
<td><%= link_to 'Show', user, :remote=>true%></td>
<td><%= link_to 'Edit', edit_user_path(user), :remote => true %></td>
<td><%= link_to 'Destroy', user, :remote => true, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
<div id = "show-form" title="User Information">
<p>
<b>User name:</b>
<%= user.user_name %>
</p>
<p>
<b>Email:</b>
<%= user.email %>
</p>
<p>
<b>Password:</b>
<%= user.password %>
</p>
<p>
<b>Account type:</b>
<%= user.account_type %>
</p>
</div>
</tr>
任何关于它为什么会发生的想法都将不胜感激。这与你的js关系不大,而与你的php关系不大 从代码中删除此项:
<div id = "show-form" title="User Information">
<p>
<b>User name:</b>
<%= user.user_name %>
</p>
<p>
<b>Email:</b>
<%= user.email %>
</p>
<p>
<b>Password:</b>
<%= user.password %>
</p>
<p>
<b>Account type:</b>
<%= user.account_type %>
</p>
</div>
这并不完美。。。lol无论如何,但至少你可以满怀希望地使用它。似乎你有多个元素
#show form
当你创建页面时,你是用内容生成表单div还是实时填充空表单?是的,我有多个元素#show form,这会是问题吗?嗯,我不知道你所说的填空表单是什么意思。我认为问题在于show表单一直显示第一个元素。让我调查一下。非常感谢你的回复。我想隐藏div,但我尝试了另一种方法,没有为每个用户提供div。
<div id = "show-form" title="User Information">
<p>
<b>User name:</b>
<%= user.user_name %>
</p>
<p>
<b>Email:</b>
<%= user.email %>
</p>
<p>
<b>Password:</b>
<%= user.password %>
</p>
<p>
<b>Account type:</b>
<%= user.account_type %>
</p>
</div>
<tr id = "<%= dom_id user%>">
<td><%= user.user_name %></td>
<td><%= user.email %></td>
<td><%= user.password %></td>
<td><%= user.account_type %></td>
<td class="click_me" data-id="<%= dom_id user%>"><%= link_to 'Show', user, :remote=>true%></td>
<td><%= link_to 'Edit', edit_user_path(user), :remote => true %></td>
<td><%= link_to 'Destroy', user, :remote => true, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<tr style="display: none;" class="hidden_<%= dom_id user%>">
<td colspan="8">
<div class = "show-form" title="User Information">
<p>
<b>User name:</b>
<%= user.user_name %>
</p>
<p>
<b>Email:</b>
<%= user.email %>
</p>
<p>
<b>Password:</b>
<%= user.password %>
</p>
<p>
<b>Account type:</b>
<%= user.account_type %>
</p>
</div>
</td>
</tr>
$('td').on('click','.click_me', function(){
var id = $(this).data('id');
$('.hidden_'+id).slideToggle();
});