我以为我已经完成了所有操作,但是当我点击链接时,我在Rails应用程序中的对话框没有显示。
这是链接代码:
<li><%= link_to "Sign in", :class => "userlink" %></li>
这是我的对话:
<div id="loginf" style="display:none;">
<div class="col-md-3">
<%= form_for(:session, url: sessions_path) do |f| %>
<%= f.label :username %>
<%= f.text_field :username %>
<%= f.label :password %>
<%= f.password_field :password %>
<%= f.submit "Sign in", class: "btn" %>
<% end %>
<p>New user? <%= link_to "Sign up now!", signup_path %></p>
</div>
</div>
这是我在assets/javascripts/dialog
内存储的javascript:
$(document).ready(function(){
$("a.userlink").click(function(e) {
$("#loginf").dialog("open");
e.preventDefault();
return false;
});
$("#loginf").dialog({
autoOpen: false,
modal: true,
resizable: false,
draggable: false
});
});
对我来说,一切似乎都很好。当我删除style="display:none;"
时,div
通常会显示并且看起来不错。此外,如果我在javascript点击功能中设置alert
框,则通常会显示该警告框。
您怎么看?
答案 0 :(得分:0)
你可以试试这个
$("#model").click(function(){
$( "#dialog-modal" ).dialog({
height: 140,
modal: true
});
});
答案 1 :(得分:0)
我认为你应该从div中删除“display:none”样式,因为你已经使用了autoOpen:false选项。
有关详细信息,请参阅此链接:http://api.jqueryui.com/dialog/#option-autoOpen
autoOpenType: Boolean
Default: true
If set to true, the dialog will automatically open upon initialization. If false, the dialog will stay hidden until the open() method is called.
Code examples:
Initialize the dialog with the autoOpen option specified:
$( ".selector" ).dialog({ autoOpen: false });
Get or set the autoOpen option, after initialization:
// getter
var autoOpen = $( ".selector" ).dialog( "option", "autoOpen" );
// setter
$( ".selector" ).dialog( "option", "autoOpen", false );