for里获取一个值、就能在for循环外面得到一个相对应的值、选择哪个多选框就能够显示哪个DIV!

<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title><... <html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function hs(){
var showdiv1=document.getElementById("1");
var showdiv2=document.getElementById("2");
var showdiv3=document.getElementById("3");
var showdiv4=document.getElementById("4");
var showdiv5=document.getElementById("5");
var s = document.getElementsByName("chkStudent");
var s2 = "";

for( var i = 0; i < s.length; i++ )
{
if ( s[i].checked ){
s2 += s[i].value;

}
}
if(s2=="1"){
showdiv1.style.display="block";
}
else if(s2!="1"){
showdiv1.style.display="none";
}
if(s2==112){
showdiv2.style.display="block";
}
else if(s2!=112){
showdiv2.style.display="none";
}
………类似的还有3条if判断显示隐藏DIV………
}
//-->
</SCRIPT>
<body>
<INPUT TYPE="checkbox" NAME="chkStudent" value=1>1<br>
<INPUT TYPE="checkbox" NAME="chkStudent" value=12>2<br>
<INPUT TYPE="button" value='查看结果' onclick="hs()">
<div id="1" style="border:1px solid black;width:300px;height:300px;background-color:gray; display:none">
1
</div>
<div id="2" style="border:1px solid black;width:300px;height:300px;background-color:gray; display:none">
2
</div>
………<类似的还有3条DIV!根据上面的if来显示的>………
</body>
</html>
网页内容大概:五个复选框。一个查询按钮。哎呦五个对应于五个复选框的隐藏div、当点击多个复选框、例如:“1、3、5”!然后点击查询、就会在页面显示“1、3、5”对应的隐藏div、当再次点击复选框“1、3、5”、取消选中、再次选中“1、2”!点击查询、对应的“1、3、5”的DIV就会隐藏起来而选中的“1、2”复选框所对应的DIV就会显示出来!
求解~~~
展开
 我来答
百度网友a19d193
2013-05-07 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1458万
展开全部

说的好复杂...

<div id="div1">1</div>
<div id="div2">2</div>
<div id="div3">3</div>
<div id="div4">4</div>
<div id="div5">5</div>
<input id="c1" type="checkbox" value="1" onclick="document.getElementById('div' + this.value).style.display = this.checked ? 'block' : 'none';" /> <label for="c1">1</label><br />
<input id="c2" type="checkbox" value="2" onclick="document.getElementById('div' + this.value).style.display = this.checked ? 'block' : 'none';" /> <label for="c2">2</label><br />
<input id="c3" type="checkbox" value="3" onclick="document.getElementById('div' + this.value).style.display = this.checked ? 'block' : 'none';" /> <label for="c3">3</label><br />
<input id="c4" type="checkbox" value="4" onclick="document.getElementById('div' + this.value).style.display = this.checked ? 'block' : 'none';" /> <label for="c4">4</label><br />
<input id="c5" type="checkbox" value="5" onclick="document.getElementById('div' + this.value).style.display = this.checked ? 'block' : 'none';" /> <label for="c5">5</label><br />
追问
1
2
3
4
5
不错不错!我在每个DIV里面加了进入就是隐藏、不然你那样就直接完蛋了、需要点击两下才能够完成效果、
你这是HTML里面的、我用的是DOJO页面框架、好惆怅啊~
追答
嗯,是要隐藏,我忘了加。没用过dojo,不过不管啥框架输出html还是没问题吧。有用望采纳哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缓步莫迟疑C
2013-05-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6564万
展开全部

你的代码太麻烦了,试试这个:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
div {
border:1px solid black;width:300px;height:300px;background-color:gray; display:none;
}
</style>
<script language="javascript">
function hs(){
   var s = document.getElementsByName("chkStudent");
   var s2 = "";
   for(var i=0;i<s.length;i++){
      document.getElementById('d'+(i+1)).style.display=(s[i].checked?'block':'none');
   }
}
</script>
</head>
<body>
<INPUT TYPE="checkbox" NAME="chkStudent" value="1">1<br>
<INPUT TYPE="checkbox" NAME="chkStudent" value="12">2<br>
<INPUT TYPE="checkbox" NAME="chkStudent" value="3">3<br>
<INPUT TYPE="checkbox" NAME="chkStudent" value="4">4<br>
<INPUT TYPE="checkbox" NAME="chkStudent" value="5">5<br>
<INPUT TYPE="button" value='查看结果' onclick="hs()">
<div id="d1">1</div>
<div id="d2">2</div>
<div id="d3">3</div>
<div id="d4">4</div>
<div id="d5">5</div>
</body>
</html>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式