我正在使用 Ruby on Rails。
我想在页面上创建一个过滤字段,以便每当输入字段的值发生变化时,我都会通过 ajax 过滤如下所示的列表。 (与 Stackoverflow 中的用户搜索完全一样)
目前,我使用包含 text_field_tag 和 submit_tag 的 form_remote_tag 运行它,当我按下提交按钮时它会过滤我的列表。我想删除提交按钮并在每次文本输入值更改时执行过滤。每次输入字段中的文本更改时如何触发表单提交?
我在我的表单中尝试过
<%= text_field_tag (:filter), "" , :onchange => "alert ('This is a Javascript Alert')" %>
只是为了获取 onchange 事件,但不知何故甚至没有出现此警报...
最佳答案
对单个输入使用observe_field helper,如下面的代码:
<%= text_field_tag 'filter' %>
<%= observe_field 'filter',
:url => {:controller => 'your_controller', :action => 'filter'},
:frequency => 1.2,
:update => 'results',
:with => "'typed_filter=' + $('filter').value" %>
然后编写一个 Controller ,给定一个名为“typed_filter”的参数,呈现结果,结果将显示在 ID 为“results”的元素(可能是一个 div)中。
关于javascript - 每当输入文本字段更改时,如何在 RoR 中提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/236715/