Javascript jQuery-将标签组和复选框限制为最大数量
我试图限制Javascript jQuery-将标签组和复选框限制为最大数量,javascript,php,jquery,html,checkbox,Javascript,Php,Jquery,Html,Checkbox,我试图限制复选框及其相对标签可选择的最大数量。复选框工作正常,但标签的可选性仍然超过限制 我的htmlinput格式如下: <div data-toggle="buttons" class="btn-group bizmoduleselect"> <label id="b-<?php echo $term->term_id; ?>" class="btn btn-default <?php echo $labelchk ?>"> &l
复选框
及其相对标签
可选择的最大数量。复选框工作正常,但标签的可选性仍然超过限制
我的htmlinput
格式如下:
<div data-toggle="buttons" class="btn-group bizmoduleselect">
<label id="b-<?php echo $term->term_id; ?>" class="btn btn-default <?php echo $labelchk ?>">
<div class="bizcontent">
<input id="youaresure" type="checkbox" name="email_cats[]" <?php echo $chk ?> value="<?php echo $term->term_id ?>" />
<h5><?php echo $term->name ?></h5>
</div>
</label>
</div>
这不起作用,因为标签没有更改处理程序。也许您最好将一些代码添加到复选框的属性检查函数中,以便在必要时删除父标签的“活动”类。这不起作用,因为标签没有更改处理程序。也许您最好将一些代码添加到复选框的属性检查函数中,以便在必要时删除父标签的“活动”类。在上没有更改事件。一切都应该在
我的建议是在达到限制时禁用其他复选框
下面将切换标签上的活动类以及禁用/启用未选中的输入
var max = 5;
var $checkboxes = $(':checkbox').change(function(e) {
var maxChecked = $checkboxes.filter(':checked').length === max;
// disable/enable others based on limit
$checkboxes.not(':checked').prop('disabled', maxChecked);
// toggle label active based on checked state
$(this).closest('label').toggleClass('active', this.checked);
});
在
上没有更改
事件。一切都应该在
我的建议是在达到限制时禁用其他复选框
下面将切换标签上的活动类以及禁用/启用未选中的输入
var max = 5;
var $checkboxes = $(':checkbox').change(function(e) {
var maxChecked = $checkboxes.filter(':checked').length === max;
// disable/enable others based on limit
$checkboxes.not(':checked').prop('disabled', maxChecked);
// toggle label active based on checked state
$(this).closest('label').toggleClass('active', this.checked);
});
请将您的完整代码添加到jsfiddleLabels无更改事件。因此,您可以使用标签单击事件,也可以在复选框更改事件上执行所有操作。不能在页面中复制Id,它们在定义上是唯一的。我在Bootstrap3中使用了snippet。可能是因为这个原因,一旦达到限制,我就无法阻止单击复选框。他们被当作纽扣对待@MohammadAkbariplz将您的完整代码添加到jsfiddleLabels中。标签没有更改事件。因此,您可以使用标签单击事件,也可以在复选框更改事件上执行所有操作。不能在页面中复制Id,它们在定义上是唯一的。我在Bootstrap3中使用了snippet。可能是因为这个原因,一旦达到限制,我就无法阻止单击复选框。他们被当作纽扣对待@MohammadAkbariHello,谢谢你的回答,但我已经尝试了你的解决方案,它不会起作用。我检查了我的代码,实际上我忘记了它与引导数据toggle=“buttons”一起工作。我已经编辑了这个问题。可能就是为了这个!我实际上使用了这个代码段。我的意思是复选框被当作按钮对待!谢谢,我终于从你的答案开始找到了答案。祝你有美好的一天!您好,谢谢您的回答,但我已经尝试了您的解决方案,它不会工作。我检查了我的代码,实际上我忘记了它与引导数据toggle=“buttons”一起工作。我已经编辑了这个问题。可能就是为了这个!我实际上使用了这个代码段。我的意思是复选框被当作按钮对待!谢谢,我终于从你的答案开始找到了答案。祝你有美好的一天!