如何在保持“ 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();
});
任何想法为什么会这样?
答案 0 :(得分:3)
此示例在选择输入中删除重复数据选项:
$(".colab-select option").each(function (idx, val) {
$(this).siblings("[value='" + $(this).val() + "']").remove();
});