Проблема с select2 и группой опцийJquery

Программирование на jquery
Ответить
Anonymous
 Проблема с select2 и группой опций

Сообщение Anonymous »

Я добавляю новую опцию в группу опций select2 с настраиваемым отображением опций. вот мой код:

Код: Выделить всё

function defaultParameter(value, defaultValue) {
return typeof value !== 'undefined' ? value : defaultValue;
}
/**
* @param {jQuery} $dropDown
* @param {string} value
* @param {string} caption
* @param {string} [icon] Sets the value of eh-icon to be rendered by the Select2. If this is not set or set to '' then this is ignored.
* @param {boolean} [selectItem] Defaults to true
* @param {string} [optionGroup] The option group that this option belongs to.
*/
function addOptionToSelect2($dropDown, value, caption, icon, selectItem, optionGroup) {
value = value.replaceAll('-', '');
let $option = $dropDown.find(`option[value=${value}]`);
if ($option.length) {
$option.text(caption);
if (selectItem) {
$dropDown.val(value).trigger(EventBindings.Change);
}
return;
}

selectItem = defaultParameter(selectItem, true);

let newOption = createElement('option');
newOption.attr(Attributes.Value, value);
newOption.text(caption);

optionGroup = defaultParameter(optionGroup, '');

if (optionGroup === '') {
$dropDown.append(newOption).trigger(EventBindings.Change);
}
else {
$dropDown.find(`optgroup[label="${optionGroup}"]`).append(newOption);
}

if (selectItem) {
$dropDown.val(value).trigger(EventBindings.Change);
}
}
Но значение было добавлено в соответствующую группу параметров. (*)
HTML (раскрывающийся список содержится в модальном окне начальной загрузки):

Код: Выделить всё

Please select a value

BBC
ITV
Test 2
Test company


T1


Насколько я могу судить, я следую инструкциям здесь:
Добавить динамическую опцию внутри optgroup в select2
* При этом, если я проверю HTML в инспекторе DOM, опция будет добавлена, но когда я открываю раскрывающийся список в браузере, опции там нет.
Поэтому, когда я вызываю addOptionToSelect2($('#ddlOptions', '1234', 'Test 4'); значение Test 4 появляется в DOM, но когда я просматриваю раскрывающийся список, этот параметр не отображается как часть раскрывающегося списка select2.

Подробнее здесь: https://stackoverflow.com/questions/798 ... tion-group
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»