Динамический выбор коллекции в Rails с использованием jQuery и AJAX - PullRequest
1 голос
/ 04 августа 2011

У меня есть простое приложение, в котором я разрешаю пользователям создавать посты. Чтобы создать сообщение, пользователям необходимо выбрать категорию. Я хочу использовать коллекцию, чтобы показать категорию. Когда пользователь выбирает категорию, мне нужно показать еще одну коллекцию под ней, в которой перечислены подкатегории в этой категории. Все это происходит в постах / новой странице.

Я пытался реализовать это, используя jQuery и AJAX, я только дошел до того, что смог найти идентификатор категории из первого выбора коллекции, подтвержденный показом окна alert (), показывающего этот идентификатор. Но я понятия не имею, как сделать POST AJAX на сервере с этим идентификатором, получить подкатегории и затем показать выбор второй коллекции.

Все примеры, которые я нашел в Интернете, не работали для меня. Может ли кто-нибудь предоставить мне полный рабочий код, который может удовлетворить мои требования? Спасибо.

1 Ответ

3 голосов
/ 04 августа 2011

Во-первых, напишите действие контроллера, которое принимает идентификатор категории в качестве параметра и отображает его подкатегории в виде простого текста в следующем формате:

<option value="1">First subcategory</option>
<option value="2">Second subcategory</option>
<option value="3">Third subcategory</option>

Затем напишите запрос AJAX, который запускается, когдаизменения выпадающего списка категорий:

$('#category_dropdown').change(function() {
  var subcategory_url = "/get_subcategories?category_id=" + $(this).val();
  var subcategory_select = $(this).next('select');

  $.ajax({
    url: subcategory_url,
    success: function(data) {
      subcategory_select.html("<option selected=selected>Select Subcategory</option>" + data);
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...