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

Posted

技术标签:

【中文标题】如何重置select2中的特定选定选项【英文标题】:How to reset specific selected option in select2 【发布时间】:2019-08-09 17:00:17 【问题描述】:

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

我注意到aria-selected="true" 用于选定的。

我如何通过title 找到它并删除/重置它,使其不会成为当前选定项目的一部分。

提前致谢。

【问题讨论】:

【参考方案1】:

我认为这应该可行:

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

希望对你有帮助。

【讨论】:

【参考方案2】:

select2 具有指向 DOM 中特定 <select> 元素的链接。所以,首先你需要更改选择选项,然后触发select2change事件 如需更改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");

选择一个选项

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

选择多个选项

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

从所选中删除一个

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

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

【讨论】:

以上是关于如何重置select2中的特定选定选项的主要内容,如果未能解决你的问题,请参考以下文章

提交更新后 select2 的选择选项丢失以及如何从数据库中设置选定的值

如何从select2多选中的选项列表中删除选定的选项并按选择的顺序显示选定的选项

如何获取 yii2 select2 小部件的选定选项的值

在 Select2 事件中获取选定的选项,当可以选择多个选项时

JQuery Select2 不会更改选定的 html 选项

select2 jquery插件重置具有预选项目的选择元素