0

我的视图中有以下代码,位于名为 make_deployment_group.html.erb 的“\app\views\deployment_group”中

<%= form_for :folder_name, :remote => true, :method => "get", :url => {:action => "show_workflow_list"} do |f| %>
            <%= f.select :foldernames, options_for_select(@folders, @folders.first)%><br /><br />

            <%= hidden_field_tag 'selected_domain', params[:domain_selected] %>
            <%= hidden_field_tag 'user_name', params[:username] %>
            <pre><%= f.submit "Submit"%></pre>
            <% end%>and my `js.erb` file for the action 

show_workflow_list.js.erb:位于“\app\views\deployment_group”,为 show_workflow_list.js.erb

$('#workflow_selection').html("<%=j render "show_workflow_list" %>");

我的 application.html.erb 文件:

<!DOCTYPE html>
<html>
<head>
  <title>Authorize</title>
  <%= stylesheet_link_tag    "application" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

现在我想删除提交按钮,并在下拉列表中有更改时在我的视图上呈现标签中的show_workflow_list部分内容。<div>的文件夹。

请帮忙,

谢谢

4

1 回答 1

2

您必须在 JQuery 中执行此操作。在 js 文件中,当文档准备好时,您的 app/assets/application.js 中必须有类似的内容:

$('#foldernames').change(function() {
  $('#folder_name').submit()
});

或者这个,如果你使用 coffeescript :

$('#foldernames').change = () ->
  $('#folder_name').submit()

它会起作用。这是无阻碍的javascript!当您更改选择时,它将提交表单,在 ajax 函数中调用控制器中的操作并执行 js.erb 文件中的内容。

于 2012-07-25T18:11:58.217 回答