日期:2014-05-16  浏览次数:20466 次

使用jQuery实现checkbox的全选、全取消时遇到的问题(操作无法对头部起作用)
<!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=gb2312" />
<title>StripingTable</title>
<script src="jquery-1.1.3.pack.js" type="text/javascript"></script> 
<script type="text/javascript">
$(document).ready(function(){
var box=$("input[@name='sport']");
$("#head").toggle(function(){


box.each(function(index){

box.eq(index).attr("checked","true");
}

);
},function(){


box.each(function(index){

box.eq(index).removeAttr("checked");
});
}
);
});

</script>
</head>
<body>
<table>
<tr>
<td><input type="checkbox" id="head" name="sport"></td>
</tr>
<tr>
<td><input type="checkbox" name="sport"></td>
</tr>
<tr>
<td><input type="checkbox" name="sport"></td>
</tr>
<tr>
<td><input type="checkbox" name="sport"></td>
</tr>
<tr>
<td><input type="checkbox" name="sport"></td>
</tr>
</table>

</body>
</html>




------解决方案--------------------
你不需要用each
直接$(":checkbox[name='sport']").attr("checked",$(this).attr("checked"));