2015-11-26 131 views
0

我想比较选择框选择的选项值,如果在选择框重复值我想显示警报:几个选择框重复值比较

alert("Duplicate value!"); 

这是我的代码:

<select class="examSelect"> 
    <option value="one">ba</opion> 
    <option value="two">woo</opion> 
    <option value="three">coo</opion> 
    <option value="four">po</opion> 
</select> 

<select class="examSelect"> 
    <option value="one">ba</opion> 
    <option value="two">woo</opion> 
    <option value="three">coo</opion> 
    <option value="four">po</opion> 
</select> 

<select class="examSelect"> 
    <option value="one">ba</opion> 
    <option value="two">woo</opion> 
    <option value="three">coo</opion> 
    <option value="four">po</opion> 
</select> 

回答

0

的2重复声明这是一个使用对象属性的方法。它在第一次看到它时创建该属性,如果它第二次看到相同的值,则会触发并发出警报。

这可以很容易地进行修改,以维持重复,例如的计数“你为3种不同的选择输入'呜'!”

对于HTML中的其他选择框也是可扩展的,无需修改,因为它使用jQuery each()来调查每个匹配的下拉列表。

function checkit() { 
    var checker = {}; 
    $(".examSelect").each(function() { 
     var selection = $(this).val(); 
     if (checker[selection]) { 
      //if the property is defined, then we've already encountered this value 
      alert("Duplicate(s) detected!"); 
      return false; 
     } else { 
      //first time we've seen this value, so let's define a property for it 
      checker[selection] = true; 
     } 
    }); 
    console.log(checker); //remove this in production 
} 

https://jsfiddle.net/y5y9uy5v/2/

+0

您的评论是我想要的。选择框可以创建没有限制。谢谢! – yangho

+0

@yangho,我很高兴能帮上忙。如果您对此答案感到满意,请将其标记为已接受。谢谢! – Marc

+0

我标记了!谢谢 – yangho

0

你可以使用这样的事情来比较这三种中选择..the下面的代码会检查是否所有的人都有相同的值警报是.. 做,如果你需要声明

$(document).ready(function(){ 
    $('.examSelect').on('change',function(){ 
     var examSelect0 = $('.examSelect').eq(0).val(); 
     var examSelect1 = $('.examSelect').eq(1).val(); 
     var examSelect2 = $('.examSelect').eq(2).val(); 
     if(examSelect0 == examSelect1 && examSelect1 == examSelect2){ 
      alert('yes'); 
     } 
    }); 
}); 

DEMO

你可以使用这个如果要是值对他们

if(examSelect0 == examSelect1 || examSelect1 == examSelect2 || examSelect0 == examSelect2){ 
    alert("Duplicate value!"); 
} 
+0

感谢您的评论。但选择框可以创建没有限制 – yangho