0

我在 LI 和 SPAN 中有一个无序列表的复选框。当按下 UL 上方的按钮时,如何检查下表中的所有框?我已经尝试了几个这样的变体,但没有成功:

$(this).closest('ul').find('input[type=checkbox]').prop('checked', this.checked);
4

2 回答 2

1

更新了我的答案

下一个();就是你要找的。

像这样使用Attr()prop()

var $elements = $('input#afterthis').closest('li').nextAll().find('input[type="checkbox"]');

$elements.attr('checked', 'checked');

$('body').append('There are ' + $elements.length + ' elements checked');

示例:http: //jsfiddle.net/qwRSW/3/

于 2013-06-17T14:39:14.723 回答
1

如果按钮是 的兄弟<ul>

$('.myButton').click(function(){
    $(this).next('ul').find('input[type=checkbox]').prop('checked', true);
});

所以 HTML 看起来像:

<input type="button" class="myButton" value="Check all" />
<ul>
....
</ul>

这种方法允许你有很多<ul>'s,每个都由他们自己的按钮控制。只需重复 HTML,无需更改 jQuery。

于 2013-06-17T14:45:09.077 回答