我一直在使用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中的标签?
答案 0 :(得分:0)
看起来select2没有刷新列表的选项。您可以尝试销毁选择并使用更新的值重新创建。尝试
$('.members').select2("destroy");
并使用
重新初始化 $('.members').select2({data: UpdatedData });