如何在 select2 中重置特定的选定选项

How to reset specific selected option in select2

例如,我预选了 2 条记录,如下面的屏幕截图所示。

我注意到 aria-selected="true" 已选中。

如何通过 title 和 remove/reset 找到它,这样它就不会成为当前所选项目的一部分。

提前致谢。

我认为这应该可行:

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

希望对您有所帮助。

select2 对 DOM 中的特定 <select> 元素有 link。所以,首先你需要改变select选项,然后触发select2
change事件 对于更改 option 文本,你可以喜欢这个

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

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

然后为select2触发change事件:

$select2.trigger("change");

删除项目

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

Select一个选项

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

Select多个选项

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

从 selected

中删除一个

如果您需要从已经 selected 中删除一个选项,您需要获取 selected 选项,删除一个,然后将新选项设置为 select2。

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