2

私がやりたいことは、最初にコンボの種類 (3 アイテムのコンボまたは 2 アイテムのコンボ) を選択するようにユーザーに依頼し、次に 2 番目の選択でアイテムをピックアップするように依頼することです。したがって、2 番目の選択は複数選択であり、ユーザーは 2 つまたは 3 つの項目を選択できます。

オプション複数でselect2を使用しています。しかし、うまくいきませんでした。要素にアタッチされている場合、Select2 に対してOption 'multiple' は許可されていません。select2でこれを機能させるのを手伝ってくれる人はいますか?

<script type="text/javascript">
$(document).ready(function() {
  $('select#box_name').change(function() {
    var dish_id = $(this).find('option:selected').val();
    $.read(
      '/dishes/{dish_id}/get_assoc_items.json',
      { dish_id: dish_id },
      function (data) {
        var options = ''
        $.each(data, function(idx, item) {
          options = options + '<option value="'+item.id+'">'+item.name+'</option>'
        });
        var select = $('select#box_assoc_items')
        $('option', select).remove();
        select.append(options);
      }
    );
  });
});

$(document).ready(function() {
  $('select#box_assoc_items').select2({
    placeholder: 'choose items',
    multiple: true
  });
});
</script>

<%= simple_form_for([@restaurant, @order, @box]) do |f| %>
  <%= f.input :name, :collection => @dishes %>
  <%= f.input :assoc_items, :collection => [[]], :input_html => {:maxlength => 2, :style => 'width:400px'} %>
  <%= f.input :price %>
  <%= bootstrap_button(f, "Add a dish") %>
<% end %>
4

2 に答える 2

1

multiple は select 要素に適用できません。hidden 要素を使用する必要があります。

<input type="hidden" id="question" name="question" style="width: 70%;">
于 2013-07-14T23:52:36.890 に答える
1

@Diegoの答えは私を助けませんでしたが、私のケースを持つこれは同じ問題を抱えている人を助けるかもしれません:

Railsの独立したテーブルに複数選択を実装する方法は?

于 2013-11-02T01:22:02.147 に答える