2015-04-22 5 views
1

Теперь мой случай может быть немного странным. У меня есть select_tag, пользователь должен выбрать одно значение из списка, который я дал. Я знаю, как получить значение, которое они выбрали, когда они нажимают на submit. Но теперь я также хотел бы отобразить некоторую информацию для выбранного значения. ПЕРЕД они нажимают кнопку «Отправить», только когда они выберут любое значение в раскрывающемся списке.Ruby on rails: select_tag как отображать на основе выбранного значения

Итак, есть ли способ получить значение после выбора пользователем, но перед тем, как пользователь отправит?

например:

select_tag("a", options_for_select(my_option_list)) 

param[:a] будет иметь значение только после того, как пользователь отправляет это. Как я могу получить значение перед отправкой?

+0

Вы можете обратиться к ссылке ниже, чтобы отобразить выбранное значение рядом с выпадающим меню. http://stackoverflow.com/a/10520467/5625947 – Yewness

ответ

1

Это зависит от того, что вы хотите сделать, но вы можете использовать javascript.

Отъезд fiddle

<select id="my_select"> 
    <option value="value 1">Option 1</option> 
    <option value="value 2">Option 2</option> 
    <option value="value 3">Option 3</option> 
    <option value="value 4">Option 4</option> 
</select> 


$(function(){ 
    $('#my_select').on('change', function(){ 
     alert('do soemthing ' + $(this).val()); 
    }); 
}); 
+0

Также проверьте http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false для предотвращения отправки, чтобы вы могли сделать что-то в первую очередь. –

+0

Спасибо! Что делать, если я хотел бы показать информацию на странице, которая представляет собой столбец в таблице? –

+0

Это вы имеете в виду показать информацию? Если вы хотите что-то обновить на странице с текстом, выбранным в текстовом поле, вам нужно будет использовать javascript/jquery для поиска элемента и изменения текста. Что-то вроде '$ (« p # my-paragraph »). Text ($ (this) .val())' –

0

Вам нужно будет использовать JavaScript/CoffeeScript для этого. Образец этого может быть что-то вроде этого:

$(document).ready -> 
    $("#id_of_select_that_the_select_tag_generates").change -> 
    # do something 

Поместите выше в app/assets/javascripts/some_file_name.js.coffee

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