2011-10-29 38 views
0

只是單挑,對於ajax而言我是一個初學者,我只是想找到方法,所以請耐心等待:)Rails + Ajax - 基於組合框選擇更新視圖?

我有一個視圖與組合框(通過collection_select生成),並在該表單的側面顯示一些數據,這些數據實際上提供了有關用戶選擇的更多詳細信息。

我想達到的目的是在客戶在組合中做出不同選擇時,能夠立即更改該說明。基本上,找出當前的選擇是什麼,從模型請求數據,在屏幕上顯示返回的數據。

實現這個最簡單/最優雅的方式是什麼?我認爲理解這個過程對於我來說是一個很好的啓動到異步查看世界的其他部分。

謝謝!

回答

0

我不認爲阿賈克斯在這種情況下是必要的。只要下載所有的描述值,並將其存儲在隱藏層:

<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文檔的確切細節,但主要想法應該清楚。通過這種方式,您可以節省一些對服務器不必要的請求。