成对查找重复值 - 选择下拉列表

时间:2015-07-21 05:19:13

标签: javascript jquery select duplicates

我有一对文本框。我需要在我的选择下拉列表中找到重复的对值。

JSFIDDLE示例

txt12    txt12
txt2     txt1
txt3     txt3
txt4     txt5
txt12    txt12

在我的示例中,txt12选择对是重复的。我可以通过考虑每个选择下拉列表来找到每个重复的值。

 var selects = document.getElementsByTagName('select');
 var values = [];
 for(i=0;i<selects.length;i++) {
    var select = selects[i];
    if(values.indexOf(select.value)>-1) {
        alert('duplicate - '+select.value); break;
    }
    else 
        values.push(select.value);
 }

如何找到选择下拉值的重复对

2 个答案:

答案 0 :(得分:0)

您可以使用类似

的内容
function chkVal() {
    var selects = document.getElementsByTagName('select');
    var values = [];
    for(i=0;i<selects.length;i++) {
        var select = selects[i];
        if(values.indexOf(select.value)>-1) {
            alert('duplicate - '+select.value);
        }
        else 
            values.push(select.value);
    }
}

您必须删除break块中的if,因为当它找到for时,它会在第一个循环中移出text12循环。

请参阅小提琴:“http://jsfiddle.net/sL6ofchd/9/

答案 1 :(得分:0)

使用jQuery,尝试这样的事情:

$('.check-value').on('click', function() {
    var duplicates = $('select+br').prev().filter(function() {
        return $(this).val() == $(this).prev().val();
    });
    console.log( duplicates.length );
});

&#13;
&#13;
$('.check-value').on('click', function() {
  var duplicates = $('select+br').prev().filter(function() {
     return $(this).val() == $(this).prev().val();
  });
  console.log( duplicates.length + ' duplicates' );
  duplicates.each(function(i) {
    console.log( i, this, $(this).prev()[0] );
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select>
    <option value="txt12">txt12</option>
</select> &nbsp;&nbsp;&nbsp;<select>
    <option value="txt12">txt12</option>
</select><br><br>


<select>
    <option value="txt2">txt2</option>
</select> &nbsp;&nbsp;&nbsp;<select>
    <option value="txt1">txt1</option>
</select><br><br>


<select>
    <option value="txt3">txt3</option>
</select> &nbsp;&nbsp;&nbsp;<select>
    <option value="txt3">txt3</option>
</select><br><br>


<select>
    <option value="txt12">txt12</option>
</select> &nbsp;&nbsp;&nbsp;<select>
    <option value="txt12">txt12</option>
</select><br><br>


<input type="button" value="save" class="check-value">
&#13;
&#13;
&#13;