У меня есть вход автосохранения Select2 (построенный через SonataAdmin), но не может для меня в жизни выяснить, как программно установить его на известную пару ключ/значение.
Здесь JS Fiddle здесь, который показывает примерно то, что у меня есть. Я хочу знать, какую функцию я могу прикрепить к кнопке, чтобы
- В поле Select2 отображается текст "NEW VALUE" пользователю, а
- в поле Select2 будет отправлено значение "1", когда форма будет отправлена на сервер
Я пробовал всевозможные комбинации методов jQuery и Select2 data
и val
, вызываемых против разных входов на странице, но ничего не работает... неужели есть какой-то способ сделать это?
- Изменить -
Принятый ниже ответ очень полезен, помогает пролить свет на правильный путь для инициализации выделения и объясняет, для чего предназначен initSelection.
Сказав это, кажется, что моя самая большая ошибка здесь заключалась в том, как я пытался вызвать изменение.
Я использовал:
$(element).select2('data', newObject).trigger('change');
Но это приводит к пустующему объекту add
внутри события изменения select2.
Если вместо этого вы используете:
$(element).select2('data', newObject, true);
тогда код работает так, как должен, с newObject
, доступным в событии изменения select2, и правильными настройками.
Я надеюсь, что эта дополнительная информация поможет кому-то еще!