2015-11-26 134 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