js全选,反选,全不选24
发布网友
发布时间:2023-11-19 15:55
我来回答
共3个回答
热心网友
时间:2024-12-05 06:16
首先选择器写法就不对
document.getElementsByName['game'],至少这么写
其次
由于你所有input标签所有的name属性都不一样,不能批量选择,除非像楼上贴代码那哥们一样,把所有的复选框的name属性都改为game也可以。如果纯粹是为了达到目的话用document.getElementsByTagName("input"),能达到效果
另外,楼上也提到了,判断的等号==
还有提醒楼主一下,不要反复的使用选择器,少量代码无所谓,大量代码的情况下会降低运算效率的。
在楼主的代码基础上改了一下
//全选
function test()
{
obj = document.getElementsByTagName("input")
for(var i=0;i<obj.length-3;i++)
{
var f=obj[i];
if(f.checked==false)
{
f.checked=true;
}
}
}
//反选
function ftest()
{
obj = document.getElementsByTagName("input")
for( var i=0;i<obj.length-3;i++)
{
f=obj[i];
if(f.checked==false)
{
f.checked=true;
}
else
{
f.checked=false;
}
}
}
//全部取消
function CancelAll()
{
obj = document.getElementsByTagName("input")
for( var i=0;i<obj.length-3;i++)
{
f=obj[i];
if(f.checked==true)
{
f.checked=false;
}
}
}
热心网友
时间:2024-12-05 06:16
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>MODEL PAGE</title>
<script type="text/javascript">
var choose = function (flag)
{
var games = document.getElementsByName('game');
if (flag === 1)
{
for ( var i = 0; i < games.length; i++)
{
games[i].checked = true;
}
}
else if (flag === -1)
{
for ( var i = 0; i < games.length; i++)
{
games[i].checked = !games[i].checked;
}
}
else if (flag === 0)
{
for ( var i = 0; i < games.length; i++)
{
games[i].checked = false;
}
}
}
</script>
</head>
<body>
<input name="game" type="checkbox" value="lanqiu" />篮球
<input name="game" type="checkbox" value="zuqiu" />足球
<input name="game" type="checkbox" value="pingpangqiu" />乒乓球
<input name="game" type="checkbox" value="bangqiu" />棒球
<input name="game" type="checkbox" value="ganlanqiu" />橄榄球
<br />
<input type="button" value="全选" onclick="choose(1)" />
<input type="button" value="反选" onclick="choose(-1)" />
<input type="button" value="全不选" onclick="choose(0)" />
</body>
</html>
热心网友
时间:2024-12-05 06:16
你的if判断的等号有问题==