【问题标题】:Repopulate select2 options on removing selected option on another select在另一个选择上删除选定选项时重新填充 select2 选项
【发布时间】:2016-10-20 15:16:23
【问题描述】:

我正在使用 select2,我正在使用数组在两个选择框中加载选项。当我从 dropdown1 中选择一个选项时,应该删除 dropdown2 中的某些值。目前我可以从 dropdown2 中删除选项,但我无法像开始时那样使用所有值重新填充它们。此外,当我取消选择 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();
                          }
                      });

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

感谢任何帮助。寻找一个例子。

【问题讨论】:

    标签: jquery jquery-select2


    【解决方案1】:

    当您想要重新填充选项时,您是否尝试重新加载/重新初始化 select2 for 2nd 下拉菜单?

    不确定这是否有帮助。

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

    就像您从下拉菜单中取消选择时一样,您可以尝试在其更改事件/功能上 $('#select2').select2({data: data});

    【讨论】:

    • 您可以尝试清空下拉列表并再次填充它吗?在特定事件上。
    • 一个页面上有 8 个下拉菜单。每个至少有 5-6 个选项。所以如果我这样做会有很多jquery代码。我想要的东西应该只是几行代码的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    相关资源
    最近更新 更多