选择2 -清除所有不工作的项目时,目标的职业

select2 - clear all items not working when targeting by class

本文关键字:项目 目标 工作 清除 选择      更新时间:2023-09-26

我有一个select2组合框,我想从中清除所有项目。

如果我的目标是一个ID的选择,然后它工作:

$("#clearId").click(function(){
  $("#list").empty();
});

然而,如果我用一个类作为选择的目标,它实际上从dom中删除了选择:

$("#clearClass").click(function(){
    $(".list").empty();
});

可以在下面的演示中看到:http://jsfiddle.net/NvrZu/

我需要能够通过一个类来定位选择

当插件包装原始选择时,动态添加的选择的父类也会获得.list类,因此您不仅删除了选择中的选项,而且还删除了选择,因为您正在清空父元素。

排除插件添加的包装器应该可以解决这个问题:

$("#clearClass").click(function(){
    $(".list").not('.select2-container').empty();
});

小提琴

                $("#list").empty();
                $("#list").select2('data', null);

http://jsfiddle.net/mohammadAdil/NvrZu/1/

$("#clearClass").click(function(){
     $("select.list").empty();
});

您确实有其他类型为.list的元素,您不希望为空

这是由插件生成的div类list -

<div class="select2-container list"

参见On console -> http://jsfiddle.net/mohammadAdil/NvrZu/4/