这里我有一组带有div.checkbox标签的复选框
我想在单击父div.checkbox时切换复选框
<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
$('.checkbox').click(function(){
var el = $('.checkbox input[type=checkbox]')
if(el.is(':checked')){
find(el).removeAttr('checked');
}
else {
el.attr('checked','checked');
}
});工作演示
我该怎么做,请有人帮我一下
谢谢
发布于 2013-09-09 11:14:34
您需要使用.prop()而不是.attr()来设置选中的属性值。
$('.checkbox').click(function(){
$(this).find('input[type=checkbox]').prop('checked', function(){
return !this.checked;
});
});演示:小提琴
发布于 2013-09-09 11:15:34
可以使用.find将作用域限制为单击元素:
$('.checkbox').click(function(){
$(this).find(":checkbox").prop('checked', function(){
return !this.checked;
});
});这是一个工作的小提琴。
发布于 2013-09-09 11:14:44
变化
var el = $('.checkbox input[type=checkbox]')至
var el = $(this)演示
https://stackoverflow.com/questions/18696967
复制相似问题