Rails 3:如何汇总多个集合选择?
Posted
技术标签:
【中文标题】Rails 3:如何汇总多个集合选择?【英文标题】:Rails 3: How to sum multiple collection selections? 【发布时间】:2012-07-03 06:13:19 【问题描述】:我有一个名为“Size”的选择框集合,其值为 10、25、50 等。我可以使用 jquery 添加/删除此字段,例如,页面上可能有 3 种不同的尺寸选择: 25, 50, and 10。如果我想在这个页面上把这些值相加,得到85的总数,我该怎么做呢?
audience.rb
SIZE = ['5', '10', '25', '50', '75', '100']
form.html.erb
<%= f.fields_for :audiences do |audience_form| %>
<div class="audiencefields">
<span class="audienceforminsert"></span>
<div>
<%= audience_form.label :number_of_people, "Size" %><br />
<%= audience_form.collection_select :number_of_people, Audience::SIZE, :to_s, :to_s, :include_blank => true %>
</div>
</div>
<%= audience_form.link_to_remove "Remove this audience", :id => "removelink" %>
<% end %>
<p><%= f.link_to_add "Add another audience", :audiences, :id => "addlink" %></p>
application.js
$("#removelink").hide().filter(":first-child").show();
$('form a.add_nested_fields, form a.remove_nested_fields').live('click', function()
$("div.audiencefields span.audienceforminsert").each(function(index, element)
//index starts with 0
$(this).text("Audience"););
);
$("span.audienceshowinsert").each(function(index, element)
//index starts with 0
$(this).text("Audience " + (index + 1));
);
【问题讨论】:
你能粘贴一些代码吗? 【参考方案1】:找到所有的选择框并添加它们的选择值:
var combined = 0;
$("select").each(function()
combined += parseInt($(this).val());
);
这是一个例子jsFiddle。
【讨论】:
以上是关于Rails 3:如何汇总多个集合选择?的主要内容,如果未能解决你的问题,请参考以下文章
DevExpress Winforms使用技巧与窍门集合(2020年5月汇总)