Ruby on Railsでselect boxの出力をAjaxで送る

セレクトボックスの中身を選択する度に値をAjaxにて飛ばすようにする。
array = [["x", 0], ["y", 1]]
このようなarrayという変数があったとき

app/views/sample/main.html.erb
<%= select(:a, :b, array, {:include_blank => "-- pleas select --"}) %>
<%= observe_field(:a_b, {:update => :selecttarget, :on => 'change', :url => { :action => :selectapi }, :with => :a_b}) %>
 
:updateは更新するdivのidをselecttargetとしている。
このdivの中身がapp/views/sample/selectapi.html.erbとなる。

app/controllers/sample_controllers.rb
class SampleController < ApplicationController
  def selecttarget
    @p = params[:a_b]]
  end
end
 

セレクトボックスの値を@params[:a_b]で受け取れる。
最終更新:2010年04月17日 02:05
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。