2017-11-11 145 views
0

若干嵌套形式我有這種選擇在滑軌顯示在滑軌

<%= g.select :num_periods, options_for_select([["Mensual", 12], ["Semestral", 6], ["Trimestral", 4], ["Anual", 1]]) %> 

根據我想顯示n次此嵌套形式所選擇的選項。 (我有一個循環,現在顯示它)

<% for i in (1..4) %> 
    <%= g.fields_for :periods do |p| %> 
    <%= p.label "Propuesto" %> 
    <%= p.number_field :proposed, class:"form" %> 
    <%= p.hidden_field :reached, :value => -1 %> 
<% end %> 

我發現,這可能使用JQuery達到,但我不知道怎麼了,可能有人幫助我嗎?

+0

繼續看看你的循環的HTML輸出,並編寫一個jQuery函數,將它輸出到所需容器的'x'次。如果不知道你要在這裏做什麼,很難解釋得更徹底。 –

回答

0

select選項將生成html,即您的起點編寫jquery函數。你需要與chrome developer tolls檢查在你的頁面生成的HTML

<%= g.select :num_periods, options_for_select([["Mensual", 12], ["Semestral", 6], ["Trimestral", 4], ["Anual", 1]]) %> 

它看起來應該像這樣從ActionView::Helpers::FormOptionsHelper的API頁面:

<select name="g[num_periods]" id="g_num_periods"> 
    <option value="12">Mensual</option> 
    <option value="6">Semestral</option> 
    <option value="4">Trimestral</option> 
</select> 

那麼容易的選擇,在視圖中顯示所有輸入字段,並根據您的需要隱藏那些不需要的字段。因此,他們都將被隱藏,你可以告訴你需要用一個:

$('select').change(function(){ 
    $('select option:selected').click(function() { 
     var option_selected = $(this).text(); 
     //now you need to find the div to show and use the .show function to display it 
     }); 
}); 

這是我jsfiddle

我知道這是不是一個很好的解決方案,但我沒有全部來自信息你的代碼也,我不知道該附加格的形式將允許你這樣做POST請求,因爲在防止CSRF

形式的authenticity_token另外這給你更多的信息關於authenticity token