[英]How to add an additional selection in select2 multi select dropdown programmatically without losing the existing selected items
我有一个场景,例如每当用户在多选 select2 下拉列表中选择特定的“状态”时,必须自动选择另一个状态。
例如,如果用户选择状态“A”,则还必须选择状态“C”。 逻辑是A&C总是在一起。
我正在寻找一个选项来执行此操作,目前,我正在捕获select2:select
事件并检查所选项目是 A 或 C,如果是,则使用
select2Object.select2('data')
然后循环遍历项目并获取值,然后附加状态 'C' 的值,然后触发更改事件。
有没有直接的方法可以做到这一点? 例如,如果我去
select2Object.val("C");
select2Object.trigger('change');
此代码然后它将清除所有其他选择并仅选择状态“C”。 我正在寻找一种解决方案来添加新的选择项而不会丢失旧的选择项。
这应该很简单。 您需要做的就是保存现有选择,推送新值,并触发更改事件。 所以对于你的情况,这应该有效:
// get all selected options (including the one you just selected)
let data = select2Object.val();
/* some logic that determines 'C' should be added */
data.push('C');
select2Object.val(data).trigger('change');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.