【发布时间】:2012-01-31 05:00:39
【问题描述】:
我浏览了有关此主题的所有 SO 问题和答案,但我仍然无法使我的方案工作。 我想在选择下拉菜单选项时触发单击按钮操作;看起来很简单,在 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 事件处理程序;为什么?有人看到我做错了什么吗?
感谢您的帮助。
【问题讨论】:
标签: forms select submit onchange