параметров объекта, которые передаются в функцию как templateResult
и templateSelection
упоминаются как объекты данных . Это внутренние представления тега <option>
, построенного с помощью Select2.
В случае <select>
с <option>
и/или <optgroup>
метки (без специальных адаптеров данных), то объект будет иметь следующие автоматически созданные свойства
id
(необязательно): атрибут value
на теге <option>
(или текст, если нет value
). Этого нет в тегах <optgroup>
, поскольку они не могут быть выбраны.
text
: Текст, содержащийся в теге <option>
, или атрибут label
<optgroup>
.
element
: Элемент DOM, представляющий тег <option>
или <optgroup>
, который может использоваться для извлечения атрибутов элемента (с использованием jQuery или ванильного JavaScript).
children
(необязательно): любые вложенные теги <option>
, используемые, когда объект данных представляет <optgroup>
.
для экземпляра Select2 инициализирован с data
объекта, который должен быть множество вариантов, каждый объект данных будет соответствовать объекты данных, которые были переданы через массив. Кроме того, они будут иметь свойство element
, которое ссылается на автоматически созданный <option>
, который Select2 использует для управления им.
Когда Select2 используется с удаленным источником данных, например AJAX, ожидается, что объекты данных, подобные этому (возможно, с дополнительными данными), будут переданы обратно. Эти объекты будут нормализованы (text
и id
принуждены к строкам) и передаются в функции шаблонов, как они обычно были бы.
Этих же объекты данных является то, что передается обратно через select2:select
, select2:unselect
, и связанное с DOM событие, которые позволяют вам ссылаться на объекте данных, который был выбран или невыделенным.