javascript - 使用 onclick 事件附加部分

标签 javascript jquery ruby-on-rails-3

我有我的 onclick 事件工作,但是当它显示部分时:

只显示文本:

<%= escape_javascript(render(:partial => payment)) %>

我想让它获取parial并显示它

这是我的代码:

$(".payment").append("<%= escape_javascript(render(:partial => payment)) %>"); 

尝试使用 ""和 '' 支付

完整的 jquery 代码

$(document).ready ->
  $('.plans').change ->
    $(".payment").append("<%= escape_javascript(render(:partial => 'payment')) %>");

编辑:

自从我使用 devise 以来,如果有人在未来看到这个,这对我有用:

  devise_scope :user do
    get 'registrations/toggle_partial' => "registrations#toggle_partial"
  end

将toggle_partial.js文件放入

views/devise/registrations

NickM 放在那里的其他一切都很棒......

还记得部分名称周围的''

最佳答案

根据您上面的“完整 jquery”代码,我猜您在 coffeescript 文件中有此代码,该文件无权访问渲染方法。

您将必须设置一个路由来触发呈现 JS 的 Controller 操作,如下所示:

路线.rb:

get 'controller_name/toggle_partial' => "controller_name#toggle_partial"

在那个 Controller 中:

def toggle_partial
  respond_to do |format|
  format.js
end

然后在 views/controller_name 中添加一个名为 toggle_partial.js 的文件,其中包含以下内容:

$(".payment").append("<%= escape_javascript(render(:partial => payment)) %>");

然后在你的 coffeescript 文件中做这样的事情:

$('.plans').change ->
  $.ajax(
    type: 'GET'
    url: '/controller_name/toggle_partial'
    success: ( data, status, xhr ) ->
  )

抱歉,如果 coffeescript 示例中的缩进关闭。最重要的是,您无权在 coffeescript 文件中呈现,因此您必须进行变通。 希望这会有所帮助。

关于javascript - 使用 onclick 事件附加部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537575/

相关文章:

javascript - 网格无法正常工作

javascript - 卡迪拉流路由器 "There is no route for the path:/"

javascript - Angularjs 使用 ui-router 路由到不同的布局页面

javascript - 基本的 jQuery 命令不起作用

ruby-on-rails - Form_for 嵌套对象

javascript - 如何在 Javascript 中检测 SSL 证书并将其添加到浏览器?

javascript - 如何在不调用任何 CSS 的情况下从内容中隐藏特定文本?

javascript - 如何使用 window.open 创建不确定延迟的弹出窗口(用于社交身份验证),而无需弹出窗口阻止程序阻止它

ruby-on-rails - 如何检查sidekiq是否启动?

ruby-on-rails - 为什么这行代码会引发语法错误?