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:如何汇总多个集合选择?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery 从多个集合选择中提取 id?

DevExpress Winforms使用技巧与窍门集合(2020年5月汇总)

DevExpress Winforms使用技巧与窍门集合(2020年5月汇总)

java 集合类基础问题汇总

Scala 学习笔记之集合 集合常用操作汇总

scala集合算子大全及分类汇总——倾心整理