从具有相同类名的多个复选框中选择相似值时发出警报

时间:2015-07-15 17:22:30

标签: javascript jquery html checkbox

当我从下面的复选框中选择具有相同值的第二次时,它应该警告' 值已经检查'我如何使用jquery做到这一点?

<div>
    <input type="checkbox" class="check" value="1"/>
</div>
<div>
    <input type="checkbox" class="check" value="2"/>
</div>
<div>
    <input type="checkbox" class="check" value="1"/>
</div>
<div>
    <input type="checkbox" class="check" value="3"/>
</div>
<div>
    <input type="checkbox" class="check" value="4"/>
</div>
<div>
    <input type="checkbox" class="check" value="3"/>
</div>

我尝试使用以下代码,但没有任何工作

var itemVal=false;
$(document).on('change','.check:checked',function(){
    selVal=$(this).val();
    $('.check:checked').each(function(){
        if($(this).val()==selVal)
            itemVal=true;       
    });         
    if(itemVal==true){
        alert('Proceed');
    }else{
        alert('Please choose same name');
    }               
});

2 个答案:

答案 0 :(得分:0)

像这样:

$('.check').click(function () { 
     if(!this.checked)
          alert("Value is already Checked");

});

如果你想保持检查,请在警告之前添加此内容

this.checked = true;

答案 1 :(得分:0)

试试这个:

$('.check').change(function(event){
 var arr = $(".check:checked").map(function() {
   return $(this).val();
 }).get(); 
 var sorted_arr = arr.sort(); 
 var results = [];
 for (var i = 0; i < arr.length - 1; i++) {
    if (sorted_arr[i + 1] == sorted_arr[i]) {
        results.push(sorted_arr[i]);
    }
 }
 if(results.length >0){
  alert('value is already checked')
 }
});

演示:

http://jsfiddle.net/9a8o37h0/1/