轨道使用模态变量和局部变量呈现部分
Rails render partial with modal and local variables
我试图在弹出窗口中呈现一个部分(理想情况下是我必须弄清楚的模式),单击一个不基于任何数据库对象的"组名",而是基于从 API 派生的局部变量。我看过这篇较旧的帖子:在轨道模式中渲染部分,但它根本不适合我。当我点击时,我只是被路由到根。我目前正在尝试通过在单击"组名称"时使用"渲染部分"和 .show() 函数上的 display:none 来做到这一点。
我对Rails很陌生,并且真的很难学习Javascript,所以我不知道出了什么问题。
这是视图:
<div id="groups_show" style="display:none">
<%= render partial: 'groups/group_full', :locals => {group: group} %>
</div>
<%= link_to group.name, root_url, class: "groups_showme" %>
Javascript:
$('.groups_showme').click(function() {
$('#groups_show').show();
win = new Window({title: "Share This", width:200, height:150, destroyOnClose: true,
recenterAuto:false});
win.setContent('#groups_show',true,true);
win.show();
}
编辑:有效的最终代码
$('.groups_showme').on('click', function(e) {
e.preventDefault();
$('#groups_show').show();
win = new Window({title: "Share This", width:200, height:150, destroyOnClose: true, recenterAuto:false});
win.setContent('#groups_show',true,true);
win.show();
return false;
});
JS 代码中与此行为相关的两个错误:
-
click(function()
应该有一个论据e
-
e.preventDefault()
应该放在第一位。对于最后一个位置,等效值为return false
- [可选] 最好使用
on
而不是click
所以
$('.groups_showme').on('click', function(e) {
e.preventDefault();
// others
});
相关文章:
- Javascript用函数return替换局部变量
- 每次调用函数时,都要修改Javascript中的局部变量
- 局部变量在闭包中丢失
- 试图将一个局部变量传递给我的ngAside控制器
- jQuery.ajax()访问javascript循环中的beforeEnd局部变量
- 如何使用局部变量创建全局变量
- 如何在单击链接后将局部变量发送到部分呈现
- 定义 JavaScript 类的局部变量
- 创建所有原型函数均可访问的局部变量
- 局部变量的声明
- JavaScript:在调用之前将函数重新分配给局部变量,而不是直接调用并对'这'
- 为什么 Javascript 中的类变量在尝试多次调用它们或将它们分配给局部变量时会消失
- 函数中的局部变量
- 局部变量仍可通过函数访问
- JavaScript和局部变量是不好的做法
- 局部变量在应用 function.call() 后变为全局变量
- 如何创建一个只应用了一些过滤器的局部变量
- 我可以't克服这个错误“;未定义的局部变量或方法`f'"任何原因
- 在d3.js中将局部变量转换为全局变量
- 循环和局部变量内部的闭包