使用select2从多选Rails表单中预选择值

时间:2018-08-21 09:09:38

标签: ruby-on-rails jquery-select2

我正在尝试获取使用select2的多选Rails 4表单中的预选值。

条目看起来像:

- bol_selected = segments.map { |bol| seg = Bol.find_by(id: bol.to_i); [seg.bl_number, seg.id] }
= f.select :bol, options_for_select(bol_selected, bol_selected), {}, multiple: true, size: 10, id: 'bol-multiple', class: 'form-control'

据我了解,options_for_select将选项和值的列表作为第一个参数,将预先选择的选项作为第二个参数,这正是我上面的意思。

我正在尝试以下js代码:

$('#bol-multiple').select2({
  theme: 'bootstrap',
  allowClear: true,
  dropdownParent: $('#bol-multiple').parent(),
  minimumInputLength: 1,
  ajax: {
    url: '/autocomplete/bols.json',
    dataType: 'json',
    delay: 250,
    data: function(term, page) {
      return {
        q: term
      };
    }
  }
});

生成的HTML如下:

<select multiple="" id="bol-multiple" class="form-control select2-hidden-accessible" name="cargo[bol_segments][]" tabindex="-1" aria-hidden="true"
  <option value="25285">ZZMUM58</option>
</select>

根据我尝试添加的其他SO线程

data: [{id: 123, text: 'Some text'}]

使用上述JavaScript,但这似乎并未预选任何条目,它只是预填充了带有某些值的多选下拉列表。

只需说清楚-AJAX调用就可以正常工作,选择多个值也可以正常工作。我现在要做的就是在输入字段中预先选择某些值。 预先感谢!

0 个答案:

没有答案