Javascript 限制复选框的选择

Javascript 限制复选框的选择,javascript,php,jquery,Javascript,Php,Jquery,限制复选框的选择 我的代码看起来像 foreach($res as $res) echo '<div class="ediv"><input type="checkbox" class="echeck" name="pr[]" value="'.trim($res['product']).'"/>'.trim($res['product']).'</div>'; foreach($res作为$res) 回显“”。修剪($res['product'])

限制复选框的选择

我的代码看起来像

foreach($res as $res)
    echo '<div class="ediv"><input type="checkbox" class="echeck" name="pr[]" value="'.trim($res['product']).'"/>'.trim($res['product']).'</div>';
foreach($res作为$res)
回显“”。修剪($res['product']);
动态创建的代码在浏览器中如下所示

<div class="ediv">
        <input type="checkbox" value="Water" name="pr[]" class="echeck">Water
</div>
如何设置动态创建复选框的选择限制

我尝试了太多的逻辑。。但一切都不起作用。。有人知道怎么做吗

var limit = 4;

$("input[name='pr[]']").change(function(e){

   if($("input[name='pr[]']:checked").length>limit)
       this.checked=false;

});
这是一个简单的逻辑,只需检查所选elemets数组的长度是否大于限制,然后不检查它。

试试这个

var limit = 3;
$('input.echeck').on('change', function(evt) {
   if($(this).siblings(':checked').length >= limit) {
       this.checked = false;
   }
});

工作

将选择限制为什么?限制所选复选框的数量。你的答案比我的更好或不同?它如何使它更有效?你没有错,你完全正确,我只是想了解它如何使代码更有效?或者它的效率相同吗?JQMIGRATE:Logging是活动的jquery-migrate-1.1.js:41 JQMIGRATE:jquery.fn.attr('selected')可以使用属性而不是属性jquery-migrate-1.1.1.js:43 console.trace()migrateWarn@jquery-migrate-1.1.js:43 jquery.side slider.js:16未捕获类型错误:无法读取未定义的属性“replace”加载资源失败:服务器以404(未找到)状态响应加载资源失败:服务器以404(未找到)状态响应如果在foreach兄弟中添加div,则找不到其他复选框。这不适用于“堂兄弟”