检查是否在select元素组中多次选择了相同的选项

时间:2016-11-24 13:16:29

标签: jquery html

我有一些动态数量的select元素,当提交表单时,我想检查是否已经使用JQuery多次选择了相同的选项。如果它然后显示错误。有什么想法吗?

<div class="container-seller-commission">
            <div class="row-seller-commission">
                <select name="seller" id="seller" class="select-seller valid"><option value=""></option><option value="4" selected="selected">Agent</option>
    <option value="2">Crisalix Global</option>
    <option value="1">Owner</option>
    <option value="3">Support</option></select>
              </div>

            </div>
        <div class="row-seller-commission">
             <select name="seller" id="seller" class="select-seller valid"><option value=""></option><option value="4" disabled="disabled">Agent</option>
    <option value="2" selected="selected">Crisalix Global</option>
    <option value="1">Owner</option>
    <option value="3">Support</option></select>
            </div>
    <div class="row-seller-commission">

                <select name="seller" id="seller" class="select-seller valid"><option value=""></option><option value="4" disabled="disabled">Agent</option>
    <option value="2">Crisalix Global</option>
    <option value="1" selected="selected">Owner</option>
    <option value="3" disabled="disabled">Support</option></select>

            </div></div>

1 个答案:

答案 0 :(得分:2)

这非常简单,将所有选择的值放入数组中,确定数组中的所有项是否都是唯一的

&#13;
&#13;
$('button').on('click', function(){
    var items = $('.select-seller').map(function(){
      return $(this).val();
    }).get();
  
  console.log(isUnique(items));
});

function isUnique(arr){
   var uniqueValues = arr.reduce(function(p,c){
     if(p.indexOf(c) < 0) p.push(c);
     return p;
    },[]);
  
  return uniqueValues.length == arr.length;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container-seller-commission">
            <div class="row-seller-commission">
                <select name="seller" id="seller" class="select-seller valid"><option value=""></option><option value="4" selected="selected">Agent</option>
    <option value="2">Crisalix Global</option>
    <option value="1">Owner</option>
    <option value="3">Support</option></select>
              </div>

            </div>
        <div class="row-seller-commission">
             <select name="seller" id="seller" class="select-seller valid"><option value=""></option><option value="4" disabled="disabled">Agent</option>
    <option value="2" selected="selected">Crisalix Global</option>
    <option value="1">Owner</option>
    <option value="3">Support</option></select>
            </div>
    <div class="row-seller-commission">

                <select name="seller" id="seller" class="select-seller valid"><option value=""></option><option value="4" disabled="disabled">Agent</option>
    <option value="2">Crisalix Global</option>
    <option value="1" selected="selected">Owner</option>
    <option value="3" disabled="disabled">Support</option></select>

            </div></div>

<button>test</button>
&#13;
&#13;
&#13;

请确保您为html元素提供唯一ID!

相关问题