jQuery删除多个选择选项上的重复项,同时保持“选定”属性

时间:2018-10-31 00:51:11

标签: javascript jquery

如何在保持“ selected”属性不变的情况下在多选选项中删除重复项。

我的代码中包含以下内容

<select class="colab-select" name="colab[]" multiple>
    <option value="1" selected>Dexter</option>
    <option value="2" selected>James</option>
    <option value="3">Mary</option>
    <option value="1">Dexter</option>
    <option value="2">James</option>
    <option value="3">Mary</option>
</select>

我在jquery中有这些用于删除重复项,但是当它删除重复项时,它将“取消选择” James,但仍会选择Dexter

var a = new Array();
$(".colab-select").children("option").each(function(x){
    test = false;
    b = a[x] = $(this).val();
    for (i=0;i<a.length-1;i++){
        if (b ==a[i]) test =true;
    }
    if (test) $(this).remove();
});

任何想法为什么会这样?

1 个答案:

答案 0 :(得分:3)

此示例在选择输入中删除重复数据选项:

 $(".colab-select option").each(function (idx, val) {
       $(this).siblings("[value='" + $(this).val() + "']").remove();
  });