Javascript 从Rails中的控制器函数填充选择框

Javascript 从Rails中的控制器函数填充选择框,javascript,ruby-on-rails,ajax,Javascript,Ruby On Rails,Ajax,我有一个带有选择框的Rails web应用程序: <%= select_tag :foo %> 谢谢 我想你误解了观察字段的作用。当字段更改时,它会执行一些javascript。如果你能给我们更多关于你想做什么的细节,那就太好了 例如,您是否试图根据在另一个字段中选择的内容来更改选择中的值?我认为您误解了观察字段的功能。当字段更改时,它会执行一些javascript。如果你能给我们更多关于你想做什么的细节,那就太好了 例如,您是否试图根据在另一个字段中选择的内容来更改选择中的值?尝

我有一个带有选择框的Rails web应用程序:

<%= select_tag :foo %>

谢谢

我想你误解了
观察字段的作用。当字段更改时,它会执行一些javascript。如果你能给我们更多关于你想做什么的细节,那就太好了


例如,您是否试图根据在另一个字段中选择的内容来更改选择中的值?

我认为您误解了
观察字段的功能。当字段更改时,它会执行一些javascript。如果你能给我们更多关于你想做什么的细节,那就太好了


例如,您是否试图根据在另一个字段中选择的内容来更改选择中的值?

尝试类似的操作

在应用程序_helper.rb中,放置以下内容:

$MEMBERROLE = ['Student', 'Coach', 'Staff', 'Administrator']
 <p>
   <%= f.label :role %><br />
   <%= f.select(:role, options_for_select($MEMBERROLE.collect{|x| [x, $MEMBERROLE.index(x)]}, @member.role)) %>
 </p>
然后在您的视图中,您可以放置以下内容:

$MEMBERROLE = ['Student', 'Coach', 'Staff', 'Administrator']
 <p>
   <%= f.label :role %><br />
   <%= f.select(:role, options_for_select($MEMBERROLE.collect{|x| [x, $MEMBERROLE.index(x)]}, @member.role)) %>
 </p>

这是一个非常简单的方法。你也可以作为一个单独的表的角色,但我认为这是过分的什么你正在寻找

试试这样的

在应用程序_helper.rb中,放置以下内容:

$MEMBERROLE = ['Student', 'Coach', 'Staff', 'Administrator']
 <p>
   <%= f.label :role %><br />
   <%= f.select(:role, options_for_select($MEMBERROLE.collect{|x| [x, $MEMBERROLE.index(x)]}, @member.role)) %>
 </p>
然后在您的视图中,您可以放置以下内容:

$MEMBERROLE = ['Student', 'Coach', 'Staff', 'Administrator']
 <p>
   <%= f.label :role %><br />
   <%= f.select(:role, options_for_select($MEMBERROLE.collect{|x| [x, $MEMBERROLE.index(x)]}, @member.role)) %>
 </p>

这是一个非常简单的方法。你也可以作为一个单独的表的角色,但我认为这是过分的什么你正在寻找

@dvyjones,我希望使用“填充”功能更改select中的值,该功能在select的值更改时使用“观察”字段帮助器方法触发。基本上,我只是想弄清楚如何从控制器中定义的函数将值放入select。最终我可能会扩展它来做更多的事情,但现在我只是想弄清楚基本的东西。这有用吗?差不多。您需要在视图目录中添加
populate.js.erb
populate.js.rjs
视图。然后你需要从那里打电话。(谷歌RJS获取更多信息)@dvyjones,我希望使用“填充”功能更改select中的值,当select的值更改时,使用observe_field helper方法触发该功能。基本上,我只是想弄清楚如何从控制器中定义的函数将值放入select。最终我可能会扩展它来做更多的事情,但现在我只是想弄清楚基本的东西。这有用吗?差不多。您需要在视图目录中添加
populate.js.erb
populate.js.rjs
视图。然后你需要从那里打电话。(谷歌RJS获取更多信息)