不要小看这个问题 本帖最后由 heavilyarmed 于 2009-08-02 21:28:40 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以做到的,你先把html贴出来. 真不好意思,是用out.println()打印的。下面是产生的复选框out.println("<table>"); out.println("<tr>"); out.println("<td>"); out.println("<input type='checkbox' name='checkboxfangan' checked='checked' onclick=\"xuanze("+"this,"+paysyscalprj.getPrjid() +" )\" >"); out.println("<a href=\"javascript:xianshiceng('"+paysyscalprj.getPrjid()+"')\" >"); out.println("<span style=\"font-size='12'\" >"); out.println(paysyscalprj.getPrjName()); out.println("</span>"); out.println("</a>"); out.println("</td>"); out.println("</tr>"); out.println("</table>"); 下面是产生的层out.println("<div id='"+paysyscalprj.getPrjid() +"' style='overflow:auto; position:absolute; width:529px; height:169px; left: 203px; top: 195px;"); out.println("background-color:#F00;"); out.println(" z-index="+(1000-i)+" ' >"); //创建table out.println("<table border='1' width='60%' >"); out.println("<tr width='60%' > <td> 公式名称 </td> </tr> "); //获得公式所在集合,开始循环遍历公式 Object objectgongshijihe=request.getAttribute("gongshilist"+i); //如果公式不为空 if(objectgongshijihe!=null) { //进行类型转换 List gongshiList=(List)objectgongshijihe; java.lang.System.out.println("公式个数是:"+gongshiList.size()); for(int j=0;j<gongshiList.size();j++) { PaySysScript paySysScript=(PaySysScript)gongshiList.get(j); out.println("<tr>"); out.println("<td>"); //添加复选框 out.println("<input type='checkbox' checked='checked' name='checkboxgongshi' value='"+paySysScript.getFormSql()+"' >"); out.println("<span style=\"font-size='12'\" >"); out.println(paySysScript.getFldCaption()); out.println("</span>"); java.lang.System.out.println("公式的描述是:"+paySysScript.getFldCaption()); out.println("</td>"); out.println("</tr>"); } } //结束table out.println("</table>"); //结束层 out.println("</div>"); 你的这个html,我没法看,所以自己写个,你参考: <body> <input type="checkbox" onclick="javascript:SelAll(true)" />全选<input type="checkbox" onclick="javascript:SelAll(false)" />全不选 <input type="checkbox" name="money" id="aaa" /> <input type="checkbox" name="money" id="abc" /> <input type="checkbox" name="money" id="123" /> </body></html><script> function SelAll(bsel) { var chks = document.getElementsByName("money"); for(var i = 0 ;i<chks.length;i++) { chks[i].checked = bsel; } } </script> 层呢,两层内的checkbox名字要相同的,要控制层下的checkbox全选和全不选 不管在哪个层document.getElementsByName都能取到. 比如只让 studiv 的所有checkbox的全选 而不影响teadiv的checkbox的任何东西 那你可以使用studiv的getElementsByTagName("INPUT")来循环不过要判断一个chks[i].type == "checkbox" 你刚才不是说只要管studiv吗? 都要管就用3楼的代码,所有name="money"的checkbox都受控制. 这会把所有的改掉,我要做到 A(复选框) 只控制studiv的全选和全不选 B(复选框) 只控制teadiv的全选和全不选 A 选中 则 studiv内的所有复选框全选 再点击 studiv内的所有复选框全不选B 选中 则 teadiv内的所有复选框全选 再点击 teadiv内的所有复选框全不选 这不会把所有的input都弄过来 A B 也是复选框的能不能让A 只控制studiv的复选框呢 <!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 src="client/jquery.js"></script></head><body> <div id="div1"> <input type="checkbox" onclick="javascript:SelAll(this)" />全选 <input type="checkbox" name="money" id="aaa" /> <input type="checkbox" name="money" id="abc" /> <input type="checkbox" name="money" id="123" /> </div> <div id="div2"> <input type="checkbox" onclick="javascript:SelAll(this)" />全选 <input type="checkbox" name="money" id="Checkbox1" /> <input type="checkbox" name="money" id="Checkbox2" /> <input type="checkbox" name="money" id="Checkbox3" /> </div> </body></html><script> function SelAll(chk) { var chks = chk.parentNode.getElementsByTagName("INPUT"); for(var i = 0 ;i<chks.length;i++) { if(chks[i].type == "checkbox" && chks[i]!=chk) { chks[i].checked = chk.checked; } } } </script> A(复选框) B(复选框) 在我这里必须要在 condiv内chk.parentNode 用不了 用用您的东西<body><div id="condiv" >A <input type="checkbox" onclick="" />B <input type="checkbox" onclick="" /></div> <div id="div1"> <input type="checkbox" onclick="javascript:SelAll(this)" />全选 <input type="checkbox" name="money" id="aaa" /> <input type="checkbox" name="money" id="abc" /> <input type="checkbox" name="money" id="123" /> </div> <div id="div2"> <input type="checkbox" onclick="javascript:SelAll(this)" />全选 <input type="checkbox" name="money" id="Checkbox1" /> <input type="checkbox" name="money" id="Checkbox2" /> <input type="checkbox" name="money" id="Checkbox3" /> </div> </body> <body><div id="condiv" >A <input type="checkbox" onclick="" />B <input type="checkbox" onclick="" /></div> <div id="div1"> <input type="checkbox" name="money" id="aaa" /> <input type="checkbox" name="money" id="abc" /> <input type="checkbox" name="money" id="123" /> </div> <div id="div2"> <input type="checkbox" name="money" id="Checkbox1" /> <input type="checkbox" name="money" id="Checkbox2" /> <input type="checkbox" name="money" id="Checkbox3" /> </div> </body> div1和div2的id是不知道的? 如果div1和div2的id不知道,那他们的结构关系是不是固定的,即condiv后面就是div再后面就是div2,必须有个规则 有了规则第一个checkbox就控制他的上级div后面的那个div,另一个就控制他的上级div后面的第二个. <!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 src="client/jquery.js"></script></head><body> <div id="condiv" >A <input type="checkbox" onclick="javascript:SetCheckBox(this,1)" />B <input type="checkbox" onclick="javascript:SetCheckBox(this,2)" /></div> <div id="div1"> <input type="checkbox" name="money" id="aaa" /> <input type="checkbox" name="money" id="abc" /> <input type="checkbox" name="money" id="123" /> </div> <div id="div2"> <input type="checkbox" name="money" id="Checkbox1" /> <input type="checkbox" name="money" id="Checkbox2" /> <input type="checkbox" name="money" id="Checkbox3" /> </div> </body></html><script>function SetCheckBox(chk,type){ var div = GetNextDiv(chk.parentNode); if(type == 2) div = GetNextDiv(div); var chks = div.getElementsByTagName("INPUT"); for(var i = 0 ;i<chks.length;i++) { if(chks[i].type == "checkbox" && chks[i]!=chk) { chks[i].checked = chk.checked; } }} function GetNextDiv(obj){ var div = obj.nextSibling; while(div.tagName==null ||div.tagName !="DIV") { div = div.nextSibling; if(div == null) return; } return div;} </script>[/code] 不一定是两个层,层的个数不固定 if(type == 2) div = GetNextDiv(div); 这个是不是······· if(type == 2)能判断多个吗?还是要再写if(type == 3)···· 如果你不想写那就是if(type>1){ for(var i = 0;i<type-1i++) { div = GetNextDiv(div); }} 不明白您的意思, $("divid checkbox ")用纯javascript代码怎么表示 jquery不是很熟,也许是获取某个div下的所有checkbox吧如果是这个功能就是8楼的代码 Jquery 遍历一个table 遇到的一个问题 关于FF下无法获得window.opener的求助 当图片放大缩小时,热区的链接不能正常显示 请帮我完成javascript的作业啊,多谢各位啦。 新版论坛的Ubb好像有Bug 如果在父框架里得到子框架的标题?或者在子框架里设置父框架的标题? 如何获取选中图片上的坐标 提问;alert(err.description)中缺少标识符是什么原因? 这句话什么意思?谢谢! 有谁知道JS如何调用win系统“颜色”对话窗口。解决了给25分 单击页面任一处跳转到指定页面 想知道J2EE程序员需要掌握哪些JAVASCRIPT知识 究竟需要写些什么?
下面是产生的复选框out.println("<table>");
out.println("<tr>");
out.println("<td>");
out.println("<input type='checkbox' name='checkboxfangan' checked='checked' onclick=\"xuanze("+"this,"+paysyscalprj.getPrjid() +" )\" >");
out.println("<a href=\"javascript:xianshiceng('"+paysyscalprj.getPrjid()+"')\" >");
out.println("<span style=\"font-size='12'\" >");
out.println(paysyscalprj.getPrjName());
out.println("</span>");
out.println("</a>");
out.println("</td>");
out.println("</tr>");
out.println("</table>"); 下面是产生的层out.println("<div id='"+paysyscalprj.getPrjid() +"' style='overflow:auto; position:absolute; width:529px; height:169px; left: 203px; top: 195px;");
out.println("background-color:#F00;");
out.println(" z-index="+(1000-i)+" ' >");
//创建table
out.println("<table border='1' width='60%' >");
out.println("<tr width='60%' > <td> 公式名称 </td> </tr> ");
//获得公式所在集合,开始循环遍历公式
Object objectgongshijihe=request.getAttribute("gongshilist"+i);
//如果公式不为空
if(objectgongshijihe!=null)
{
//进行类型转换
List gongshiList=(List)objectgongshijihe;
java.lang.System.out.println("公式个数是:"+gongshiList.size());
for(int j=0;j<gongshiList.size();j++)
{
PaySysScript paySysScript=(PaySysScript)gongshiList.get(j);
out.println("<tr>");
out.println("<td>");
//添加复选框
out.println("<input type='checkbox' checked='checked' name='checkboxgongshi' value='"+paySysScript.getFormSql()+"' >");
out.println("<span style=\"font-size='12'\" >");
out.println(paySysScript.getFldCaption());
out.println("</span>");
java.lang.System.out.println("公式的描述是:"+paySysScript.getFldCaption());
out.println("</td>");
out.println("</tr>");
}
}
//结束table
out.println("</table>");
//结束层
out.println("</div>");
<body>
<input type="checkbox" onclick="javascript:SelAll(true)" />全选
<input type="checkbox" onclick="javascript:SelAll(false)" />全不选
<input type="checkbox" name="money" id="aaa" />
<input type="checkbox" name="money" id="abc" />
<input type="checkbox" name="money" id="123" />
</body>
</html><script>
function SelAll(bsel)
{
var chks = document.getElementsByName("money");
for(var i = 0 ;i<chks.length;i++)
{
chks[i].checked = bsel;
}
}
</script>
不过要判断一个chks[i].type == "checkbox"
这会把所有的改掉,
我要做到
A(复选框) 只控制studiv的全选和全不选
B(复选框) 只控制teadiv的全选和全不选
这不会把所有的input都弄过来 A B 也是复选框的
能不能让A 只控制studiv的复选框呢
<!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 src="client/jquery.js"></script>
</head>
<body>
<div id="div1">
<input type="checkbox" onclick="javascript:SelAll(this)" />全选
<input type="checkbox" name="money" id="aaa" />
<input type="checkbox" name="money" id="abc" />
<input type="checkbox" name="money" id="123" />
</div>
<div id="div2">
<input type="checkbox" onclick="javascript:SelAll(this)" />全选
<input type="checkbox" name="money" id="Checkbox1" />
<input type="checkbox" name="money" id="Checkbox2" />
<input type="checkbox" name="money" id="Checkbox3" />
</div>
</body>
</html><script>
function SelAll(chk)
{
var chks = chk.parentNode.getElementsByTagName("INPUT");
for(var i = 0 ;i<chks.length;i++)
{
if(chks[i].type == "checkbox" && chks[i]!=chk)
{
chks[i].checked = chk.checked;
}
}
}
</script>
chk.parentNode 用不了
<div id="condiv" >
A <input type="checkbox" onclick="" />
B <input type="checkbox" onclick="" />
</div>
<div id="div1">
<input type="checkbox" onclick="javascript:SelAll(this)" />全选
<input type="checkbox" name="money" id="aaa" />
<input type="checkbox" name="money" id="abc" />
<input type="checkbox" name="money" id="123" />
</div>
<div id="div2">
<input type="checkbox" onclick="javascript:SelAll(this)" />全选
<input type="checkbox" name="money" id="Checkbox1" />
<input type="checkbox" name="money" id="Checkbox2" />
<input type="checkbox" name="money" id="Checkbox3" />
</div>
</body>
<body>
<div id="condiv" >
A <input type="checkbox" onclick="" />
B <input type="checkbox" onclick="" />
</div>
<div id="div1">
<input type="checkbox" name="money" id="aaa" />
<input type="checkbox" name="money" id="abc" />
<input type="checkbox" name="money" id="123" />
</div>
<div id="div2">
<input type="checkbox" name="money" id="Checkbox1" />
<input type="checkbox" name="money" id="Checkbox2" />
<input type="checkbox" name="money" id="Checkbox3" />
</div>
</body>
再后面就是div2,必须有个规则
<!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 src="client/jquery.js"></script>
</head>
<body>
<div id="condiv" >
A <input type="checkbox" onclick="javascript:SetCheckBox(this,1)" />
B <input type="checkbox" onclick="javascript:SetCheckBox(this,2)" />
</div>
<div id="div1">
<input type="checkbox" name="money" id="aaa" />
<input type="checkbox" name="money" id="abc" />
<input type="checkbox" name="money" id="123" />
</div>
<div id="div2">
<input type="checkbox" name="money" id="Checkbox1" />
<input type="checkbox" name="money" id="Checkbox2" />
<input type="checkbox" name="money" id="Checkbox3" />
</div>
</body>
</html><script>
function SetCheckBox(chk,type)
{
var div = GetNextDiv(chk.parentNode);
if(type == 2) div = GetNextDiv(div);
var chks = div.getElementsByTagName("INPUT");
for(var i = 0 ;i<chks.length;i++)
{
if(chks[i].type == "checkbox" && chks[i]!=chk)
{
chks[i].checked = chk.checked;
}
}} function GetNextDiv(obj)
{
var div = obj.nextSibling;
while(div.tagName==null ||div.tagName !="DIV")
{
div = div.nextSibling;
if(div == null) return;
}
return div;
}
</script>[/code]
if(type == 2) div = GetNextDiv(div);
这个是不是·······
if(type == 2)能判断多个吗?还是要再写if(type == 3)····
{
for(var i = 0;i<type-1i++)
{
div = GetNextDiv(div);
}
}
如果是这个功能就是8楼的代码