Ruby on rails: select_tag 如何根据所选值显示

Ruby on rails: select_tag how to display based on selected value

现在我的情况可能有点奇怪。我有一个 select_tag,用户必须 select 我给出的列表中的一个值。我知道如何在他们单击提交后检索他们 selected 的值。但现在我还想显示 selected 值的一些信息 在他们单击提交之前 ,就在他们 select 下拉列表中的任何值时.

那么有没有办法在用户 select 之后但在用户提交之前获取值?

例如:

select_tag("a", options_for_select(my_option_list))

param[:a] 将在用户提交后立即具有该值。我怎样才能在他们提交之前获得价值?

这取决于你想做什么,但你可以使用 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());
    });
});

为此您需要使用 javascript/coffeescript。这方面的一个例子可能是这样的:

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

将以上内容放入app/assets/javascripts/some_file_name.js.coffee