我对jQuery知之甚少,我还需要一个名为&#34的复选框;选择所有"。当我选中此复选框时,必须选中HTML页面中的所有复选框。我怎么能这样做?
我正在使用下面的代码,但它不能正常工作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="listbox.css" />
<script src="jquery-2.1.1.min.js"></script>
<script>
// Listen for click on toggle checkbox
$('#select-all').click(function(event) {
if(this.checked) {
// Iterate each checkbox
$(':checkbox').each(function() {
this.checked = true;
});
}
});
</script>
</head>
<body>
<label for="blah">item-1</label> <input name="checkbox-1" id="checkbox-1" type="checkbox" />
<br />
<input type="checkbox" name="select-all" id="select-all" />
</body>
</html>
我从下载链接下载了jQ:
下载压缩的生产jQuery 2.1.1
答案 0 :(得分:2)
<ul>
<li><label>item-1</label><input name="checkbox-1" id="checkbox-1" type="checkbox" class="checkitem" /></li>
<li><label>item-1</label><input name="checkbox-2" id="checkbox-2" type="checkbox" class="checkitem" /></li>
<li><label>item-1</label><input name="checkbox-3" id="checkbox-3" type="checkbox" class="checkitem" /></li>
<li><label>item-1</label><input name="checkbox-4" id="checkbox-4" type="checkbox" class="checkitem" /></li>
</ul>
<input type="checkbox" name="select-all" id="select-all" /> Check all
<script>
$(document).ready(function() {
$('#select-all').click(function(event) {
if(this.checked) {
$('.checkitem').each(function() {
this.checked = true;
});
}else{
$('.checkitem').each(function() {
this.checked = false;
});
}
});
});
</script>
答案 1 :(得分:1)
[这是我制作的小提琴] [1]
在页面底部添加脚本
[1]: http://jsfiddle.net/zbjc0fpe/1/
答案 2 :(得分:0)
尝试这样的事情。
$('#select-all').click(function(event) {
var checked = this.checked;
$("input[type=checkbox]").each(function(){
$(this).prop('checked', checked);
});
});
答案 3 :(得分:0)
只是因为笑容和咯咯笑......其他答案找不到工作,但我喜欢以下方法的简洁性和可重用性......所以以防这有助于任何人:
$(document).on('click','[data-toggle=checkAll]', function() {
var $all = $(this),
$targets = $( $all.data('target') )
;
$targets.prop('checked', $all.is(':checked') );
}
使用上面的脚本,你可以在页面上拥有任意多个“checkAll”复选框......每个“check all”复选框只需要指定一个不同的目标选择器:
<input type='checkbox' data-toggle='checkAll' data-target='.check-option' /> check all
<input type='checkbox' class='check-option' value='1' /> option 1
<input type='checkbox' class='check-option' value='2' /> option 2
<input type='checkbox' data-toggle='checkAll' data-target='.check-option2' /> check all 2
<input type='checkbox' class='check-option2' value='1' /> option 1
<input type='checkbox' class='check-option2' value='2' /> option 2