2011-10-29 15 views
0

私はAJAXが心配している限り私は総初心者であり、その周りに自分の道を見つけようとしているので、私と一緒に抱きしめてください:)Rails + Ajax - コンボボックスの選択に基づいてビューを更新しますか?

私はコンボボックス(collection_selectを介して生成されます)、私は基本的にユーザーの選択についての詳細を与えるそのフォームの側面にいくつかのデータを表示します。

私が達成したいのは、顧客がコンボで異なる選択を行うとすぐに、その説明を側で変更できることです。基本的には、現在の選択肢が何であるか把握し、モデルからデータを要求し、返されたデータを画面に表示します。

これを達成する最も簡単で最もエレガントな方法は何ですか?私は、プロセスを理解することが、私にとっては非同期ビューワールドの残りの部分への良い立ち上がりランプになると思います。

ありがとうございます!

答えて

0

この状況では、アヤックスは必要ないと思います。単純にすべての記述値をプリロードし、隠されたdiv要素に保存:

<div class="description" id="choice1"> 
    description for choice1 ... 
</div> 

... 

そして、それらすべてを隠す:クライアント側で

// somewhere in your stylesheet 
div.description { 
    display: none; 
} 

そして最後に、コンボボックスの希​​望のイベントにバインド:

// checkout documentation for other events, like select 
    $('some_id').change(function(data){ 
    $('div.description').css('display', 'none'); 

    var id = // get information about selected choice and figure out the id of description 
    $('div.description#' + id).css('display', 'block'); 
    }); 

正確な詳細についてはChekoutのマニュアルを参照してください。主な考え方は明確にする必要があります。このようにして、サーバーへの不要なリクエストを自分で節約できます。

関連する問題