首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击父div时JQuery切换复选框

单击父div时JQuery切换复选框
EN

Stack Overflow用户
提问于 2013-09-09 11:13:22
回答 4查看 1.9K关注 0票数 2

这里我有一组带有div.checkbox标签的复选框

我想在单击父div.checkbox时切换复选框

代码语言:javascript
复制
<div class="checkbox">
  <input id="checkbox-1" type="checkbox" name="Data1" value="option1" />
  <label for="checkbox-1">HTML</label>
  <br />
  <input id="checkbox-2" type="checkbox" name="Data2" value="option2" />
  <label for="checkbox-2">CSS</label>
   <br /> 
    <input id="checkbox-3" type="checkbox" name="Data3" value="option3" />
  <label for="checkbox-3">HTML</label>
  <br />
  <input id="checkbox-4" type="checkbox" name="Data4" value="option4" />
  <label for="checkbox-4">CSS</label>
</div>

JQUERY

代码语言:javascript
复制
$('.checkbox').click(function(){
    var el = $('.checkbox input[type=checkbox]')
    if(el.is(':checked')){
          find(el).removeAttr('checked');
    }
    else {
        el.attr('checked','checked');
    }
});

工作演示

我该怎么做,请有人帮我一下

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-09-09 11:14:34

您需要使用.prop()而不是.attr()来设置选中的属性值。

代码语言:javascript
复制
$('.checkbox').click(function(){
    $(this).find('input[type=checkbox]').prop('checked', function(){
        return !this.checked;
    });
});

演示:小提琴

票数 5
EN

Stack Overflow用户

发布于 2013-09-09 11:15:34

可以使用.find将作用域限制为单击元素:

代码语言:javascript
复制
$('.checkbox').click(function(){
    $(this).find(":checkbox").prop('checked', function(){
        return !this.checked;
    });
});

这是一个工作的小提琴

票数 1
EN

Stack Overflow用户

发布于 2013-09-09 11:14:44

变化

代码语言:javascript
复制
  var el = $('.checkbox input[type=checkbox]')

代码语言:javascript
复制
  var el = $(this)

演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18696967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档