2016-11-04 1 views
1

Я хочу отобразить выпадающий список, отправить идентификатор из параметра значения в контроллер, затем загрузить данные и перезагрузить страницу.Получите идентификатор от значения в раскрывающемся списке, отправьте его на контроллер, загрузите данные и перезагрузите страницу

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

До сих пор я знаю, как сделать выпадающее меню и получить идентификатор кода JQuery:

<%= select_tag "construction_id", options_from_collection_for_select(@constructions, "id", "title"), :onchange => "constructions_dropdown(this.value)", class: "form-control", id: "dropdown_const" %> 

HTML, выглядит следующим образом:

Если я выбираю другую конструкцию, я получаю ID:

function constructions_dropdown(construction_id) { 
    alert(construction_id) 
} 

Но что теперь? Я все еще на странице индекса. Так, может быть, я должен сделать form_tag? И как мне отправить конструктор_id на контроллер и убедиться, что идентификатор не равен нулю, а затем загружает данные? Потому что я думаю, что перезагрузка страницы должна быть выполнена путем отправки формы.

ответ

0

Если вы используете jQuery, вы должны использовать JQuery Ajax для получения необходимой информации. Из результатов вы можете перезагрузить или распечатать новую информацию. http://api.jquery.com/jquery.ajax/

+0

Это всего лишь часть ответа. Я знаю, что могу и как отправлять данные контроллеру. Но тогда мне нужно загрузить данные в контроллер (один вопрос) и перезагрузить страницу. Я думаю, что мне нужно использовать изменения, представить и т. Д. Но мои знания jQuery не так уж хороши. – Boomerange

+0

Вы можете изменить внутренние элементы html, чтобы удалить старые параметры и назначить новые. Другой вариант - использовать ** select ** элемент из jQuery UI: https://jqueryui.com/selectmenu/#default –

Смежные вопросы