Как сбросить конкретную выбранную опцию в select2 - PullRequest
0 голосов
/ 19 марта 2019

Например, у меня есть 2 записи, предварительно выбранные, как показано на скриншоте ниже.

Я заметил, что aria-selected="true" для выбранных.

Как я могу найти его по title иудалите / сбросьте его, чтобы он не был частью текущих выбранных элементов.

Заранее спасибо.

enter image description here

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Я думаю, что это должно работать:

$('#idSelect option[title="myTitle"]').first().remove();

Надеюсь, это поможет.

0 голосов
/ 19 марта 2019

select2 имеет ссылку на определенный элемент <select> в DOM.Итак, сначала вам нужно изменить опцию выбора, а затем вызвать change событие select2
Для изменения option текста вам может понравиться этот

<select id="mySelect">
  <option value="option1">Text</option>
</select>

var $select2 = $("#mySelect").select2();
$('#mySelect option[value="option1"]').text = 'Another text';

А затем вызвать change событиедля select2:

$select2.trigger("change");

Удалить элемент

$('#mySelect option[value="option1"]').remove();
$select2.trigger("change");

Выбрать один вариант

$select2.val("option1").trigger("change");

Выбрать несколько вариантов

$select2.val(["option1", "option2"]).trigger("change");

Удалитьодин из выбранных

Если вам нужно удалить один параметр из уже выбранного, вам нужно получить выбранные параметры, удалить один и установить новые параметры для выбора 2.

var sel = $select2.val(); // array
sel.splice(sel.indexOf("option1"), 1);
$select2.val(sel).trigger("change");
...