0

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

如果我以 ID 为目标选择,那么它可以工作:

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

但是,如果我使用一个类来定位选择,它实际上会从 dom 中删除选择:

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

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

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

4

3 回答 3

5

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

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

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

小提琴

于 2013-05-09T16:30:23.067 回答
1
                $("#list").empty();
                $("#list").select2('data', null);
于 2016-02-17T13:11:08.537 回答
0

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

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

您确实有其他.list不想清空的类元素

这是由带有类列表的插件生成的 div -

<div class="select2-container list"

请参阅控制台-> http://jsfiddle.net/mohammadAdil/NvrZu/4/

于 2013-05-09T16:32:30.707 回答