以编程方式删除select2中添加的新标记

时间:2015-08-26 05:40:51

标签: javascript jquery jquery-select2

我一直在使用select2作为自定义组件,并想知道是否有一种方法可以通过编程方式删除用户创建的标记。我已经尝试了以下方法:在select2中获取数据数组,然后删除必要的元素,然后更新select2数据属性。

var select2Data = $('.members').select2('data'); //original select2 element data
var select2NewUser = $('.new-tag').data(); //data related to the new tag

$.each(select2Data,function(i){
    if(select2Data[i].id === select2NewUser.id){
        select2Data.splice(i,1);
        return false;
        }
})

$('.members').select2('data',select2Data); //updates the modified data tag

$('.new-tag').remove();

此方法仅更新数据对象!视图未更新,元素仍在select2中。如何删除select2中的标签?

1 个答案:

答案 0 :(得分:0)

看起来select2没有刷新列表的选项。您可以尝试销毁选择并使用更新的值重新创建。尝试

$('.members').select2("destroy");

并使用

重新初始化

$('.members').select2({data: UpdatedData });