select2 multiple select不起作用

时间:2013-07-14 22:00:48

标签: ruby-on-rails jquery-select2 select2-rails

我想要做的是先让用户选择一个组合类型(例如3个项目组合或2个项目组合),然后让他们在第二个选择中选择项目。因此,第二个选择是多重选择,并允许用户选择2或3个项目。

我正在使用带选项倍数的select2。但它没有用。它说Option ' multiple'附加到元素时不允许使用Select2。任何人都可以帮我使用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 %>

2 个答案:

答案 0 :(得分:1)

multiple不能应用于select元素,必须使用隐藏元素。

<input type="hidden" id="question" name="question" style="width: 70%;">

答案 1 :(得分:1)

@ Diego的答案对我没有帮助,但这个有我案例的人可以帮助有同样问题的人:

How to implement multi select in a independent table in Rails?