Rails 2.3.5(工作服务器,无法选择Rails 3)。目前我还在使用Prototype,但刚刚添加了JQuery(noconflict)来试验它的UI对话框。我是一个没有javascript或JQuery经验的新手,还有几个月的Rails经验。
我有一个列出'团队'的索引页面。列表不显示所有信息,并且文本字段被截断。因此,在每个“团队”列表中,我有一个显示和编辑链接转到弹出窗口:
<%= link_to "Team_Details", {:controller => 'teams', :action => 'show', :id => t.id},
popup => ['show','toolbar=no,location=no,directories=no,status=no,
menubar=no,scrollbars=yes,resizable=yes,autosize=yes'] %>
我被困的地方是:
我尝试在JQuery UI对话框中使用它,但我只能打开一个空的对话框窗口。我认为能够打开弹出窗口的视图会很常见,因为那里会有很多Google信息,但今晚我没有运气。我发现的很多信息都是关于在UI对话框中显示隐藏div的内容。
我想我想知道去哪儿方向?我只想将一个:id param传递给一个视图,并在弹出窗口中显示该视图。如果JQuery UI Dialog是一个很好的方法,那么这里有一个简单的用法示例吗?
感谢您的帮助!
答案 0 :(得分:2)
我会在jQuery UI灯箱中使用不引人注目的javascript,或者使用:
http://colorpowered.com/colorbox/
如果使用最新版本,请不要忘记将布局设置为false。
答案 1 :(得分:1)
如果其他人都在寻找link_to弹出助手的帮助,我发现的最大问题是,如果用户在没有关闭弹出窗口的情况下点击浏览器,弹出窗口将失去焦点并进入浏览器。然后,如果打开一个新的弹出窗口,它将加载到现有的弹出窗口中。这似乎很难让用户感到困惑,因为他们可能只是认为新的弹出窗口从未打开过。为了解决这个问题,IE 6/7/8在window.onblur事件中有一个错误。当内容更改时,该错误将关闭窗口。因此,如果您允许用户在show&amp; amp;在poup窗口中编辑,该更改将关闭IE中的弹出窗口。
我发现脚本(用于IE 6/7/8的IE onblur修复)会处理所有事情:
来自Vladimir Kelman http://pro-thoughts.blogspot.com/2006/10/incorrect-behavior-of-windowonblur.html
<head>
<script type="text/javascript">
var active_element;
var bIsMSIE;
function initiateSelfClosing() {
if (navigator.appName == "Microsoft Internet Explorer") {
active_element = document.activeElement;
document.onfocusout = closeWnd;
bIsMSIE = true;
}
else { window.onblur = closeWnd; }
}
function closeWnd() {
if (window.opener != null) {
if (bIsMSIE && (active_element != document.activeElement)) {
active_element = document.activeElement;
}
else {
window.close();
}
}
}
</script>
<body onload="initiateSelfClosing()">
stuff
<body/>