0

「サイズ」という名前の選択ボックスコレクションがあり、値は10、25、50などです。jqueryを使用してこのフィールドを追加/削除できるため、たとえば、ページに3つの異なるサイズを選択できます:25、 50、および10。このページでこれらの値を合計し、合計85を取得したい場合、どうすればこれを達成できますか?

オーディエンス.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));
});
4

1 に答える 1

0

すべての選択ボックスを見つけて、選択した値を追加します。

var combined = 0;
$("select").each(function() {
    combined += parseInt($(this).val());
});

jsFiddleの例を次に示します。

于 2012-07-02T20:14:04.493 に答える