gpt4 book ai didi

javascript - Rails 使用模态和局部变量渲染部分内容

转载 作者:行者123 更新时间:2023-12-02 18:19:40 25 4
gpt4 key购买 nike

我试图在单击“组名称”时在弹出窗口中呈现部分内容(理想情况下是我必须弄清楚的模式),该“组名称”不基于任何数据库对象,而是基于从派生的局部变量API。我看过这个旧帖子:Rendering partial in rails modal ,但它根本不适合我。当我点击时,我只是被路由到root。我目前正在尝试通过在“渲染部分”上使用 display:none 以及单击“组名称”时的 .show() 函数来实现此目的。

我对 Rails 很陌生,而且学习 Javascript 真的很困难,所以我不知道出了什么问题。

这是 View :

<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 代码中存在与此行为相关的两个错误:

  1. click(function() 应该有一个参数 e
  2. e.preventDefault() 应放在第一位。对于最后一个位置,相当于 return false
  3. [可选]最好使用 on 而不是 click

所以,

$('.groups_showme').on('click', function(e) {
e.preventDefault();
// others
});

关于javascript - Rails 使用模态和局部变量渲染部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18928740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com