2011-03-08 66 views
0

任何人都知道根據導軌上選定的單選按鈕填充下拉列表值的可能ajax和rails腳本3例如,有兩種類型的平臺選擇(窗口,unix)的單選按鈕,然後當你點擊unix單選按鈕時,下拉列表框只會過濾unix類型的東西(補丁)。ajax和rails腳本,用於根據選定的單選按鈕在導軌上填充下拉列表值3

這個想法是從數據庫中已經有一個內容的內容(<%= f.select:other_platform,Patch.all.map {| p | [「#{p.patch_type}#{p.number}: #{p.summary}「,p.id]},{:include_blank => true}%>),那麼我需要做的是僅僅」過濾「具有基於單選按鈕的窗口類型示例的值如果你點擊了窗口類型,那麼下拉菜單將只顯示窗口類型的修補程序,並隱藏unix類型或像regx(檢查查詢)那樣具有unix字詞的列表,並且如果您選擇或單擊unix那麼只有unix類型會出現在下拉菜單中

謝謝 請回答

IMON


我有一個代碼在這裏: 這些都是單選按鈕:


我應該怎麼辦的AJAX代碼和這個選擇框?什麼是正確的代碼爲ajax和單選按鈕和這個選擇框的一些附加代碼。

真}%>

你的答案和實例非常感謝..

感謝, IMON

回答

0

這是很簡單的。 當用戶點擊單選按鈕時,應該調用ajax請求。 您可以通過Ajax URL從服務器傳遞參數以獲取下拉列表。 然後從服務器響應所需的下拉列表,在Ajax調用中接收響應,填充dom元素。如果有任何疑問,請執行並詢問。

編輯:

以下是您的代碼的骨架。

 
Suppose you have three radio buttons: 

> input type="radio" name="rdio" value="a" checked="checked" /> 
> input type="radio" name="rdio" value="b" /> 
> input type="radio" name="rdio" value="c" /> 

> div id="drop_down" /> 
Bind click event like this: 

$("input[@name='rdio']").click(function(){ 
    var url = '/get_drop_down_options?radio_val=' + $(this).val() 
    $("#drop_down").removeOption(/./) 
    $.get(url, function(data) { 
    $('#drop_down').addOption(data, false); 
    }); 
}); 

In your controller, 

def get_drop_down_options 
    val = params[:radio_val] 
    options = YourModel.collect{|x| "'#{x.id}' : '#{x.label}'"}  
    render :text => "{#{options.join(",")}}" 
end 


Now you dont need partial. 
+0

你好阿希什,感謝您的回答,但你可以給我一個樣品,Ajax代碼和所選單選按鈕濾波代碼,當你點擊了單選按鈕,將在軌道上 – imon 2011-03-10 06:23:13

+0

的選擇框填充列表在選擇框中的列表將只根據單選按鈕值過濾像'windows'或'unix'這樣的類型,如下所示: <%= f.radio_button:patch_type,'unix'%><%#= f。標籤:patch_type_unix,「Unix」%>
<%= f.radio_button:patch_type,'windows'%><%#= f.label:patch_type_windows,「Windows」%> – imon 2011-03-10 06:27:34

+0

我應該需要使用onclick事件單選按鈕? – imon 2011-03-10 06:30:10

相關問題