Я изо всех сил пытаюсь заставить это работать
У меня есть форма рельсов, которая выглядит вот так
%tr
%td
= f.label :company
%td
= f.hidden_field :companyid, class: 'select2 ajax', data: { source: companies_path }
внутри моего кофе js
$(document).ready ->
$(".select2").each (i, e) ->
select = $(e)
options = {}
if select.hasClass("ajax")
options.ajax =
url: select.data("source")
dataType: "json"
data: (term, page) ->
q: term
page: page
per: 10
results: (data, page) ->
results: data
options.placeholder = "Select a value"
options.dropdownAutoWidth = "true"
select.select2 options
return
Поиск работает нормально, данные также сохраняются, но когда я повторно открываю страницу, то есть редактирую сохраненную запись, я получаю пустой объект select2 без значения по умолчанию, загруженного в поле выбора.
Он не берет существующее значение из сохраненной записи и не отображает его. Я не могу искать проблем - все в порядке, просто не работает.
Теперь я играл с InitSelection и пытался установить "val", но он просто не работает.
Как правильно загрузить значение, сохраненное из записи, в поле select2?
Спасибо
РЕШЕНИЕ ОТ emaillenin СМ. НИЖЕ
$(document).ready ->
$(".select2").each (i, e) ->
select = $(e)
options = {}
if select.hasClass("ajax")
options.ajax =
url: select.data("source")
dataType: "json"
data: (term, page) ->
q: term
page: page
per: 10
results: (data, page) ->
results: data
options.placeholder = "Select a value"
options.dropdownAutoWidth = "true"
options.initSelection = (element, callback) ->
data = {id: element.val().split('||')[0], text: element.val().split('||')[1]};
callback data
select.select2 options
return