jquery实现全选与取消,帮我看看哪错了,总是不行
下面是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=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script language="javascript">
$(document).ready(
$("#allcheckbox").click(
function(){
if(this.checked){
$("input[name='foodid']").each(function(){this.checked=true;});
}else{
$("input[name='foodid']").each(function(){this.checked=false;});
}
}
);
);
</script>
</head>
<body>
<form action="" id="apgeform" method="post">
<input type="checkbox" id="allcheckbox" />
<br />
<input type="checkbox" name="foodid" /><br />
<input type="checkbox" name="foodid" /><br />
<input type="checkbox" name="foodid" /><br />
<input type="checkbox" name="foodid" /><br />
<input type="checkbox" name="foodid" /><br />
</form>
</body>
</html>
[解决办法]
楼主这么试试:
<script> $(document).ready(function(){ $("#allcheckbox").click(function(){ if(this.checked){ $("input[name='foodid']").attr("checked", "true"); }else{ $("input[name='foodid']").attr("checked", ""); } }); });</script>
[解决办法]
<!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>无标题文档</title> <script type="text/javascript" src="js/jquery-1.4.js"></script> <script language="javascript"> function selectInput(obj) { if(obj.checked){ $("input[name='foodid']").each(function(){this.checked=true;}); } else { $("input[name='foodid']").each(function(){this.checked=false;}); } } </script> </head> <body> <form action="" id="apgeform" method="post"> <input type="checkbox" id="allcheckbox" onclick="selectInput(this);" /> <br /> <input type="checkbox" name="foodid" /> <br /> <input type="checkbox" name="foodid" /> <br /> <input type="checkbox" name="foodid" /> <br /> <input type="checkbox" name="foodid" /> <br /> <input type="checkbox" name="foodid" /> <br /> </form> </body></html>
------解决方案--------------------
<script language="javascript">
$(document).ready(
function(){
$("#allcheckbox").click(
function(){
if(this.checked){
$("input[name='foodid']").each(function(){this.checked=true;});
}else{
$("input[name='foodid']").each(function(){this.checked=false;});
}
}
);
}
);
</script>
</head>
[解决办法]
<script>
function selectall (che){
var allCheckbox = document.getElementByName(che);
for(var i=0;i<allCheckbox.length;i++){
if(allCheckbox[i].type=="checkbox"){
allCheckbox[i].checked=true;
}
}
if(allcheckbox.checked==false){
for(var i=0;i<allCheckbox.length;i++){
if(allCheckbox[i].type=="checkbox"){
allCheckbox[i].checked=false;
}
}
}
}
</script>
HTML里这样写 <input type="checkbox" id="allcheckbox" onClick="selectall ('foodid');"/>
[解决办法]
楼主,可能是你的jquery.js版本低的原因。你换成1.4.2以上的版本试下你写的。好像你的这个也可以。我的只不过是改过的方式。
[解决办法]
$("input[name='foodid']").each(function(){this.checked=true;});
楼主用的这种方式在jquery的each函数this拿到的是dom对象而不是jquery封装的对象,可能是
因为input中并没有给一个默认的checked属性所导致的吧