Рельсы AJAX в окне выбора - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь создать событие AJAX для поля <select>, которое будет выполнять некоторые действия при изменении выбора.Поле выбора встроено в теги <td> таблицы

<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, которая будет что-то делать, когда выбор меняется.По какой-то причине, когда выбор изменяется, функция контроллера вообще не вызывается.

Включил «Firebug» и много раз видел эту ошибку

    $(form) is null
    var elements = $(form).getElementsByTagName('*'),

1 Ответ

0 голосов
/ 13 марта 2012

Попробуйте поле наблюдения (как обсуждено здесь ):

<%= observe_field(:state, :url => { :action => :update_report, :page => 0, :update => 1 }, :update => :update_results, :with => 'repo' ) %>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...