2014-04-23 32 views
0

好選項後,也許標題無法解釋得很好,但我有與這些線形式改變數值,選擇在f.collection_select

- f.collection_select(:client, Client.all, :name, :name)%> 
- f.text_field :nit 

我需要改變f.text_field:nit值來自我的Client表,根據所選客戶端的f.collection_select

有什麼想法嗎?

回答

0

分配id選擇您collection_select,並使用該選擇定義在客戶端的on change功能,這將調用一個行動,通過Ajax和從數據庫中獲取所需的值

+0

做ü有任何實例或網頁,我可以查巴sic ajax?我不知道'布特=/ –

1

請嘗試像阿賈克斯這樣的示例代碼:

在視圖例:

select_tag "client", options_from_collection_for_select(Client.all, "name", "title"), :prompt => "Select a client", :onchange => "update_text_box(this.value)" 

text_field:

text_field_tag :nit,"",:id => "nit" 
在腳本文件

function update_text_box(client_id) { 
jQuery.ajax({ 
    url: "/update_text_box", 
    type: "GET", 
    data: {"client_id" : client_id}, 
    dataType: "text" 
success: function(data) { 
    jQuery("#nit").val(data); 
} 
}); 

}

現在改變你在你的行動寫邏輯select_tag.then當Ajax請求會去,最後你必須退回value.like

render :text => some_value. 

參考this

+0

謝謝!我應該在哪裏放置?我不知道什麼'回合阿賈克斯@金斯頓 –