我使用foreach循环生成表单中的复选框。它在下面给出。
<?php $index = 0;
foreach($cameramen as $n_key){ ?>
<div class="checkbox">
<label>
<input type="checkbox" id="cameramen_<?php echo $index+1; ?>" name="cameramen" class="subscriber" value="<?php echo $index+1; ?>">
<?php
echo $n_key->emplist3;
$index++;
?>
</label>
</div>
<br/><br/>
<?php } ?>
我想将用户选择的复选框数量限制为两个。 我使用了以下javascript函数,但它不起作用(它允许选择所有复选框)。
$("input[name=cameramen]").change(function(){
var max= 2;
console.log($("input[name=cameramen]:checked").length);
if( $("input[name=cameramen]:checked").length == max ){
$("input[name=cameramen]").attr('disabled', 'true');
$("input[name=cameramen]:checked").removeAttr('disabled');
}else{
$("input[name=cameramen]").removeAttr('disabled');
}
});
有人请帮助我解决这个问题,这个问题我几个小时都在努力解决。
答案 0 :(得分:0)
你可以试试这个:
$(document).ready(function(){
$(".cb").on('click', function(e) {
var count = 0;
var list = $('.cb');
$('.cb').each(function(i) {
if($(this).is(':checked')) {
count++;
}
});
if(count > 2)
{
alert('You cannot check more than 2 checkboxes!');
$(this).prop('checked', false);
//return false;
} else {
return true;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input class="cb" type="checkbox">Checkbox 1
<br />
<input class="cb" type="checkbox">Checkbox 2
<br />
<input class="cb" type="checkbox">Checkbox 3
<br />
<input class="cb" type="checkbox">Checkbox 4
</div>
希望这有帮助!