我正在尝试为<select>
框设置AJAX事件,该框会在选择更改时执行一些操作。该选择框表的<td>
标签内嵌入里面Rails AJAX选择框
<td>
<%= form_tag '', { :id => 'test_form' } do %>
<select name='repo' value="<%= session[:repo] %>" >
<option></option>
<%@repos.sort! { |a,b| a.repo <=> b.repo }
@repos.each do |r| %>
<option <%= session[:repo]==r.repo ? "selected='repo'" : '' %>>
<%=URI.escape(r.repo)%>
</option>
<% end %>
</select>
<% end %>
<%= observe_form('test_form', :frequency => 2,
:update => 'update_results',
:url => {:action => :update_report, :page => 0, :update => 1 },
:loading => "$('res_spin').show()", :complete => "$('res_spin').hide()") %>
</td>
我已经嵌入形式的选择框和observe_form
方法来侦听选择更改。我的控制器功能是update_report
,当选择改变时它会做某些事情。出于某种原因,当选择改变时,控制器功能根本不会被调用。
原来的 “萤火虫”,看到这个错误很多次
$(form) is null
var elements = $(form).getElementsByTagName('*'),
敲定其中的问题是我会建议评论所有的逻辑,只是一个点击事件,显示一个弹出框。这表明你的听众正在工作。如果这样做有效,那么你的逻辑出问题了。 – Josh 2012-03-12 21:28:08