【问题标题】:How to get a callback response from a rails select_tag?如何从 rails select_tag 获得回调响应?
【发布时间】:2014-01-10 18:47:22
【问题描述】:

如果我有这样的代码:

<%= select_tag 'script-switcher', options_for_select(@scripts), prompt: "Choose" , data: { remote: true, url: url_for(mypath_path(current_store)) } %>

如何获取 html 响应?

【问题讨论】:

  • 只需要编写一个 javascript 来执行此操作,这不是 rails 应用程序的常见行为。
  • 怎么样?用户将选择一个项目,然后我将返回一些要显示的部分,但使用 ajax,因为我不想重新加载页面。

标签: ruby-on-rails ajax ruby-on-rails-4


【解决方案1】:

我解决了这个问题:

.js.coffee

$('#script-switcher').bind "ajax:success", (event,data) -> $('.value-copy').html(data)

.html.erb

<%= select_tag 'script-switcher', options_for_select(@scripts), data: { remote: true, url: url_for(my_path()) } %>

【讨论】:

    【解决方案2】:

    remote: true 无法获得 html 响应。

    remote: true 发送一个 js 请求(ajax 请求),你会得到一个 js 响应。删除它以获得 html 响应。

    【讨论】:

    • 但我需要这样做才能通过 ajax 渲染部分内容。用户将选择一个项目,然后我将根据所选项目返回一个部分
    • 是的,只在与控制器动作同名的 js.erb 或 js.haml 文件中渲染部分。示例:create.js.erb
    • $('#some_element').html("#{escape_javascript(render 'partial_name')}") 在 js.erb 文件中。
    • 是的,但我的服务器应用程序将返回部分内容。我的问题是如何获得这个回报
    猜你喜欢
    • 2016-10-18
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多