我有几个选择器元素,其中class =“select”。其中几个中有重复的选项值。但我想找到出现在选择的EACH中的重复值,而不仅仅是例如。 2分(满分5分)。
这是我编辑过的代码。
var selector = $('.select')
$('option', selector).each(function() {
if ($('option[value="' + $(this).val() + '"]', selector).length == 6) {
$(this).clone().prop('selected', false).appendTo("#commonBranch_select");
}
});
我尝试在所有其他.select选项中为每个复制包含一个新选项。
其中6个但是'test'出现在所有这些中,所以我想在#commonBranch_select中找到它
<select class="select">
<option value="test">
test
</option>
</select>
我使用
从新列表中删除了重复项var map = {};
$("#commonBranch_select option").each(function(){
var value = $(this).text();
if (map[value] == null){
map[value] = true;
} else {
$(this).remove();
}
});
虽然有效,但可能会做得更好:)
答案 0 :(得分:0)
您可以查找具有相同值的option
元素,如下所示:
var $selector = $('.select')
$('option', $selector).each(function() {
if ($('option[value="' + $(this).val() + '"]', $selector).length > 1) {
// do something
}
});
或者,使用filter
:
var $duplicates = $('option', $selector).filter(function() {
return $('option[value="' + $(this).val() + '"]', $selector).length > 1;
});
// now do something with $duplicates...