在删除另一个 select 上的 selected 选项时重新填充 select2 个选项

Repopulate select2 options on removing selected option on another select

我正在使用 select2,我正在使用数组在两个 select 框中加载选项。当我 select 来自 dropdown1 的选项时,dropdown2 中的某些值应该得到 removed.Currently 我可以从 dropdown2 中删除选项,但我无法像开始时那样用所有值重新填充它们。此外,当我删除 select dropdown1 中的值时,所有值都应填充到 dropdown2 中,就像加载页面时一样。

这是代码:

var data = [{ id: 1, text: 'select' }, 
        { id: 2, text: 'A' }, 
        { id: 3, text: 'B' }, 
        { id: 4, text: 'C'}];

$('#select1').select2({data: data}).on(
                'change',
                function() {
                          if(this.value== 1)
                          $('#select2').find('option[value=2]').remove();
                          else
                          $('#select2').find('option[value=4]').remove();
                          }
                      });

此代码删除了选项,但是当我再次 select 来自 select1 的任何其他选项时,此选项不可见。页面上还有很多带有 7-8 个下拉菜单的选项。这只是我正在尝试做的一个例子。

感谢任何帮助。正在寻找示例。

当您想要重新填充选项时,您是否尝试过 reload/reinitialize select2 for 2nd dropdown?

不确定这是否有帮助。

参考 - https://select2.github.io/examples.html $(".js-example-data-array").select2({ 数据:数据 })

比如当你从 dropdown1 中取消选择时,它的变化 event/function 你可以试试 $('#select2').select2({data: data});