js全选,反选,全不选

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"><html><head><title>NewDocumen... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<script type="text/javascript">
//全选
function test()
{

for(var i=0;i<document.getElementsByName.length;i++)
{
var f=document.getElementsByName[i];
if(f.checked=false)
{
f.checked=true;
}
}
}
//反选
function ftest()
{
for( var i=0;i<document.getElementsByName.length;i++)
{
f=document.getElementsByName[i];
if(f.checked=false)
{
f.checked=true;
}
else
{
f.checked=false;
}
}
}
//全部取消
function CancelAll()
{
for( var i=0;i<document.getElementsByName.length;i++)
{
f=document.getElementsByName[i];
if(f.checked=true)
{
f.checked=false;
}
}
}
</script>
</head>

<body>
<input name="game1" type="checkbox" value="lanqiu"/>篮球
<input name="game2" type="checkbox" value="zuqiu"/>足球
<input name="game3" type="checkbox" value="pingpangqiu"/>乒乓球
<input name="game4" type="checkbox" value="bangqiu"/>棒球
<input name="game5" type="checkbox" value="ganlanqiu"/>橄榄球<br/>
<input type="button" value="全选" onclick="test()"/>
<input type="button" value="反选" onclick="ftest()"/>
<input type="button" value="全不选" onclick="CancelAll()"/>

</body>
</html>
哪里有问题,没反应啊
展开
 我来答
kasim416
推荐于2017-10-10 · TA获得超过707个赞
知道小有建树答主
回答量:351
采纳率:100%
帮助的人:294万
展开全部

首先选择器写法就不对

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;
}
}
}
yugi111
2014-11-17 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<!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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hujingn
2014-11-17 · 超过17用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:37.2万
展开全部
你的if判断的等号有问题==
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式