<select>
상자의 AJAX 이벤트를 가져 오려고합니다. 선택 사항이 변경 될 때 일부 동작을 수행합니다. 나는 형태로 선택 상자와 선택 변경을 수신 할 수있는 observe_form
방법을 내장 한레일 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>
선택 상자는 테이블의 <td>
태그 내부에 내부에 포함됩니다. 내 컨트롤러 기능이 update_report
인데, 선택 사항이 변경되면 무언가를 할 수 있습니다. 어떤 이유로, 선택이 변경되면 컨트롤러 기능이 전혀 호출되지 않습니다. "방화범"켜져 있고이 오류에게 시간을 많이 보는 것은
$(form) is null
var elements = $(form).getElementsByTagName('*'),
은 아래로 못을 모든 논리를 주석 처리하고 팝업 상자가 표시된 클릭 이벤트 만 있으면됩니다. 그러면 청취자가 작동 중임을 알 수 있습니다. 그게 작동하면 뭔가 논리가 잘못되었습니다. – Josh