0
我目前有兩個Ruby選擇:一個用於類別,另一個用於子類別。正如你可能預料到的那樣,第二個每當第一個改變時都要更新自己。如何處理所選項目在HTML選擇中更改時的事件
例如,如果我從第一個選擇類別「體育」,第二個選擇應加載所有的運動。
我該如何處理「索引更改」事件?有沒有「紅寶石方式」或我必須使用JavaScript?
感謝, 布賴恩
我目前有兩個Ruby選擇:一個用於類別,另一個用於子類別。正如你可能預料到的那樣,第二個每當第一個改變時都要更新自己。如何處理所選項目在HTML選擇中更改時的事件
例如,如果我從第一個選擇類別「體育」,第二個選擇應加載所有的運動。
我該如何處理「索引更改」事件?有沒有「紅寶石方式」或我必須使用JavaScript?
感謝, 布賴恩
你必須至少使用一些JavaScript。在jQuery中,你可以這樣做:
$(document).ready(function(){
$('#first-select').change(function(){
$('#second-select').load('/categories/2');
});
});
在你CategoriesController,你的節目的行動應響應format.js,這應該呈現一個子類別分:
class CategoriesController
...
def show
@subcats = SubCategory.find_all_by_parent_category(params[:id])
...
respond_to |format|
...
format.js { render :partial => "subcategories", :locals => { :subcats => @subcats } }
end
end
和你的子類別分:
<% subcats.each do |subcat| %>
<option value="<%= subcat.value %>"><%= subcat.text %></option>
<% end %>
謝謝。我會試試看。 – 2010-01-11 15:31:58
問題:我在創建公告時正在執行此操作,因此,我應該將控制器代碼放在Show還是New方法中? – 2010-01-11 15:41:19
因爲您正在獲取與您的某個類別相關的數據(而不是創建一個新類別),所以您希望它在您的類別的顯示方法中使用。 – 2010-01-11 16:25:13