2011-08-28 89 views
0

在我的rails 3.1應用程序中,我有一個Timesheet模型。時間表屬於一個軌道。 A Track有很多TimingEyes。需要根據選擇菜單更新HABTM複選框

當我創建一個新的時間表並選擇它的軌跡(通過選擇菜單)時,我需要動態顯示一組複選框,以選擇那天激活的時間眼睛。目前我可以顯示數據庫中所有可用的定時眼,但是有十幾個軌道,每個眼睛有幾個定時眼。這是新的時間表格式太多的信息。

有沒有一種方法可以將定時眼睛組限制到在我的選擇菜單中選擇的track_id?將這個多步驟形式做好會有什麼好處嗎?

回答

1

多步驟形式在這裏不會是一件壞事,並會消除複雜性...如果你想留在一個單一的頁面表單,這聽起來像是一個jQuery的好時機。

使用.change在選擇框更改值時觸發。

當這個火災使用.get (ajax)來呈現您的「複選框」部分的HTML。

因此,一個基本的樣板會是這個樣子:

$("#trackselect").change(function() { 
    $.get('yoururl', function(data) { 
     $('#checkboxsection').html(data); 
    }); 
}) 

有了這個設置,你需要定義一個URL /頁,輸出用於特定軌道的複選框HTML。也許像(http://yourdomain.com/tracks/:id/checkboxes)。

希望這會有所幫助