@andreychumak
junior

Как отрендерить select при ajax-запросе?

Суть такая: я выбираю первый select и в зависимости от значениея value (из первого селекта), у меня строится второй select. т.е. я отправляю get-запрос с параметром code в контроллер и хочу получить в ответ нужный мне массив. Мне нужно получить данные с контроллера.

Данные в контроллер отправляются. Там на основе этих данных у меня появляется массив @point

Вопрос в том: Как отрендерить теперь это во вьюхе. В partial переменная @point есть с нужными значениями(когда выбрал город). Скорее как с помощью js ее отрендерить.

Мой JS:
$(document).ready(function () {
 $('#country_id').change(function () {
      var country_id = $(this).val();
      $('#region_id').attr('disabled', true);
      $('#region_id').html('<option>загрузка...</option>');
      $.get(
          '/baskets',
          { code: country_id },
          function (result) {
             if (result.type == 'error') {
                   alert('error'); js
                  return(false);
              }
              else {
                  // вот эта часть не рендерится   
                  $('<%= j(render :partial => "points", :locals => {:point => @point}) -%>').appendTo('#country_id');
                  $('#region_id').attr('disabled', false);
              }Паршл point
          },
          "json"
      );
  });
});


index.html.erb

js
<form action="/baskets" >
<p>Город</p>
<select name="country_id" id="country_id">Паршл point
    <option value="0">- выберите город -</option>
    <% @city.sort.each do |city| %>
      <option value="<%=city[1]%>"><%= city[0] %> </option>
    <% end %>
</select>
<br><br>
<p>Пункт выдачи:</p>
 <%= render :partial => 'points', :locals => {:point => @point} %>
</form>


Паршл point

<select name="region_id" id="region_id" disabled="disabled">
  <option value="0">- выберите пункт -</option>
  <% @point.sort.each do |point| %>
    <option value="<%=point[1]%>"><%= point[0] %> </option>
  <% end %>
</select>
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 18:19
20000 руб./за проект
29 мар. 2024, в 18:08
2500 руб./за проект
29 мар. 2024, в 17:51
40000 руб./за проект