我浏览了所有关于这个主题的stackoverflow问题和答案,但我仍然无法让我的场景工作。当选择下拉菜单选项时,我想触发一个点击按钮动作;看起来很简单,而且应该是使用AJAX非常常见的操作。
以下是我代码中相关的节选:
以下是我代码中相关的节选:
<%= form_for(@test, :html => {:id => "form_id", :name => "MyForm", :remote => "true"}) do |form| %>
<%= form.label "Menu1" %>
<%= form.select (:Menu1, [["Option1","value1"],["Option2","value2"]], :html_options=>{:onChange=>"javascript: this.form.apply_button_name.click();"}) %>
<!-- more select menus and text fields here -->
<div class="actions">
<%= form.submit "Apply", :name => "apply_button_name", :remote => "true" %>
</div>
<% end %>
我在表单和按钮中都使用了":remote => "true",因为这是让AJAX工作的唯一方式。我也尝试过带有明确的"html_options"和"javascript:",因为我看到一些SO答案建议这样做,但没有帮助。我还尝试了onSelect和onClick而不是onChange,但仍然没有成功。
生成的HTML如下所示:
Menu1
<select id="test_Menu1" name="test[Menu1]"><option value="value1">Option1</option>
<option value="value2" selected="selected">Option2</option></select>
正如您所看到的,HTML代码中没有onChange事件处理程序; 为什么?有人看出我做错了什么吗?
感谢任何帮助。
setTimeout
,以便您发送正确的值。 - rabusmar