Что я хочу сделать, так это попросить пользователя сначала выбрать тип комбо (например, комбинацию из 3 предметов или комбинацию из 2 предметов), а затем попросить их выбрать элементы во втором выборе. Таким образом, второй выбор - это множественный выбор, позволяющий пользователю выбрать 2 или 3 элемента.
Я использую select2 с несколькими вариантами. Но это не сработало. В нем говорится, что опция '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 %>