2016-04-21 2 views
1

У меня возникли проблемы с тегом select.Как назначить переменную текущий вывод тега select

Я хочу, чтобы присвоить значение переменной в зависимости от того, какое имя отображается на выберите тег:

<%= select('product', 'name' , @products.map { |s| [s.name, s.id] }, {}, {:class => "form-control"}) %> 

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

Например:

@product = currently_displayed_name 

возможно с Rails и как это сделать ли это? Или мне, возможно, потребуется использовать другой ресурс?

+0

Вы имеете в виду, чтобы спросить, если это возможно, чтобы изменить значение переменной всякий раз, когда выберите значение поля изменяется. Чтобы вы могли отображать значение на странице? – Alfie

+0

У вас нет доступа к продукту @ на странице. В этом случае вы можете просто использовать @ product.name – karina

+0

@karina У меня была опечатка на product.map, это product.map, продукт переменной еще не существует, я хочу назначить значение выбранного в данный момент параметра. –

ответ

1

Подходит для комментариев, ответ заключается в том, что Rails не дает вам способ сделать это. В зависимости от того, что вам нужно манипулировать, когда пользователь меняет значение select, вы можете найти для него библиотеку JavaScript.

В противном случае, вы можете загрузить переменную по умолчанию на странице, а затем обрабатывать остальные с onchange обработчиком:

$('#product_name').change(function() { 
    // perform actions on the page with javascript 
}); 
Смежные вопросы