select2 - 清除按类定位时无效的所有项目

时间:2013-05-09 16:26:57

标签: javascript jquery jquery-select2

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

如果我使用ID定位选择,那么它可以工作:

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

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

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

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

我需要能够通过课程来定位选择。

3 个答案:

答案 0 :(得分:5)

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

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

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

FIDDLE

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

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

这是插件使用类列表 -

生成的div
<div class="select2-container list"

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