我的视图中的以下代码位于“\ app \ views \ deployment_group”中,名为make_deployment_group.html.erb
<%= 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>
部分。的文件夹。
请帮忙,
由于
答案 0 :(得分:2)
你必须在JQuery中这样做。在js文件中,当文档准备就绪时,你的app / assets / application.js中你必须有这样的东西:
$('#foldernames').change(function() {
$('#folder_name').submit()
});
或者,如果您使用coffeescript:
$('#foldernames').change = () ->
$('#folder_name').submit()
它会起作用。这是非破坏性的javascript!当您更改选择时,它将提交表单,在ajax函数中调用控制器中的操作并执行js.erb文件中的内容。