Jquery 切换标签上的类别,禁用直到松开

Jquery 切换标签上的类别,禁用直到松开,jquery,checkbox,label,Jquery,Checkbox,Label,我有一些复选框,当你点击禁用所有其他复选框,直到你取消选中复选框。这很有效。但是我还想在标签上加入一个toggleClass“active” 因此,当您单击标签时,它会添加活动类。但是,如果您单击另一个标签,它不会添加活动类,直到您将该类从先前单击的标签上取消切换。抱歉,如果这听起来有点混乱 我让js在这里为复选框部分工作: $('.test').change(function(){ if($('input.test').filter(':checked').length == 1) $

我有一些复选框,当你点击禁用所有其他复选框,直到你取消选中复选框。这很有效。但是我还想在标签上加入一个toggleClass“active”

因此,当您单击标签时,它会添加活动类。但是,如果您单击另一个标签,它不会添加活动类,直到您将该类从先前单击的标签上取消切换。抱歉,如果这听起来有点混乱

我让js在这里为复选框部分工作:

$('.test').change(function(){
if($('input.test').filter(':checked').length == 1)
    $('input.test:not(:checked)').attr('disabled', 'disabled');
else
    $('input.test').removeAttr('disabled');
});
我有标签的toggleClass

$('.holder label').click(function() {
    $('.holder label').not(this).removeClass('active')
    $(this).toggleClass('active')
})
但他们需要合作。看看这把小提琴,你会有更好的主意的

e、 g.如果单击“标签1”,其正确文本将变为粗体,并勾选复选框。但如果您单击“Label2”,则应添加“active”类并以粗体显示,直到取消选中“Label1”


谢谢

看看固定版本:

Html:

Css:

实际上,您不应该关心单击标签,因为它们与属性对应的复选框相关联。在复选框更改时,以及禁用/启用rest复选框时,您应该在相应的标签上切换类


此外,您不应该在id标记中包含哈希符号。当您希望按id选择时,在选择器中使用哈希,即:。选择此div的选择器是mydiv,您可以将其用作$'mydiv'。

Perfect。谢谢
<div class="holder">
    <label for="checkone">Label1</label>
    <input type="checkbox" class="test" id="checkone" />
</div>

<div class="holder">
    <label for="checktwo">Label2</label>
    <input type="checkbox" class="test" id="checktwo" />
</div>

<div class="holder">
    <label for="checkthree">Label3</label>
    <input type="checkbox" class="test" id="checkthree" />
</div>
$('.test').change(function(){
  if($('input.test').filter(':checked').length == 1)
    $('input.test:not(:checked)').attr('disabled', 'disabled');
  else
    $('input.test').removeAttr('disabled');  

  var id = $(this).attr('id');
  $('label[for='+id+']').toggleClass('active');
});
.active{font-weight:bold;}