我正在尝试获取使用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调用就可以正常工作,选择多个值也可以正常工作。我现在要做的就是在输入字段中预先选择某些值。 预先感谢!