Jquery Rails-下拉更改多个输入字段?

Jquery Rails-下拉更改多个输入字段?,jquery,ruby-on-rails,ruby,Jquery,Ruby On Rails,Ruby,我正在寻找一个RubyonRails的下拉列表示例,它将更改一组输入字段。简言之,我有三个人你可以。。。你可以从下拉列表中选择,这三个人每人都有五个问题 你知道有什么类似的例子可以让我学习吗 以下是我的设想。在你看来: <%= select_tag :person_id, options_from_collection_for_select(Person.all, "id", "name", person_to_prepopulate_select_with), :id =

我正在寻找一个RubyonRails的下拉列表示例,它将更改一组输入字段。简言之,我有三个人你可以。。。你可以从下拉列表中选择,这三个人每人都有五个问题


你知道有什么类似的例子可以让我学习吗

以下是我的设想。在你看来:

<%= select_tag :person_id,
    options_from_collection_for_select(Person.all, "id", "name", person_to_prepopulate_select_with),
    :id => "person_selector_for_questions" %>
这(1)在用户更改下拉列表的值时触发jQuery事件处理程序,(2)向
http://yoursite/questions?person_id=selected_person_id
,以及(3)使用
。after
,在您的下拉列表后将收到的响应粘贴到当前页面中。当然,您可以自定义jQuery调用,将其放置在需要的页面中

现在是重要的部分。在您的
问题控制器中

def index
  if request.xhr? && params[:person_id]
    @questions = Question.where(:person_id => params[:person_id]
    render :person_questions
    return # important to prevent rest of controller action from firing
  end
end
这将启动
索引
操作,以处理查询字符串中包含人员ID的AJAX调用。它将从控制器对应的视图文件夹(在本例中为
问题
文件夹)中返回一个名为
person\u questions
的部分,其中将包含您希望粘贴到网页中的信息

最后,您必须在
app/views/questions
文件夹中创建此部分
\u person\u questions.html.erb
。这个部分将包含jQuery将粘贴在页面中的内容。例如,您可以将其放在部分:

<% @questions.each do |q| %>
    <%= q.contents %>
<% end %>


因此,问题内容,或您心中希望放在页面上的任何内容,都将加载到当前页面。

只是为了澄清:您是否从下拉列表中选择、提交并返回一个响应,以及基于用户选择的唯一问题集?@Vardarac-首先,感谢您的跟进!第二,我的目标是在用户选择后在同一页面上返回响应(五个输入),而无需提交。这可能仅使用Rails助手就可以实现,但如果您知道并同意使用jQuery,则可能会更容易。你的偏好是什么?@Vardarac jQuery会是你诚实的偏好。现在尝试一下,但这更有意义!谢谢@VardarcBy顺便说一句,效果很好!非常感谢你。。。现在我们正在使用下拉列表“替换”JS的原始代码。顺便说一句,这很有帮助。
<% @questions.each do |q| %>
    <%= q.contents %>
<% end %>