显示在滑轨
问题描述:
若干嵌套形式我有这种选择在滑轨显示在滑轨
<%= 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达到,但我不知道怎么了,可能有人帮助我吗?
答
您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
继续看看你的循环的HTML输出,并编写一个jQuery函数,将它输出到所需容器的'x'次。如果不知道你要在这里做什么,很难解释得更彻底。 –