不要小看这个问题

heavilyarmed 2009-08-02 09:27:31
假如我这里有两个层 studiv ,teadiv, 这两个层内有都是名字为money的复选框,另外有两个 复习框(称为控制框)控制 studiv 和teadiv内所有复选框的全选和全不选。 是不是感觉简单啊,呵呵,其实层的名字(id)是不固定的,所以用jquery获取有问题了( $("\""+ "#"+divid+"\"") 不认 )。用纯粹的javascript能不能做到啊(获得该层下的所有复选框)。还要实现对该层下的所有复选框的全选和全不选。谢谢了。

function xuanze(e,divid)
{
//e是控制框
//div是层的名字
}

...全文
232 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
heavilyarmed 2009-08-03
  • 打赏
  • 举报
回复
结贴发分
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
[Quote=引用 46 楼 toury 的回复:]
jquery:  $("#"+divid)
[/Quote]

他不认啊
toury 2009-08-02
  • 打赏
  • 举报
回复
jquery: $("#"+divid)
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
好的,谢谢您了
cpp2017 2009-08-02
  • 打赏
  • 举报
回复
jquery不是很熟,也许是获取某个div下的所有checkbox吧
如果是这个功能就是

8楼的代码
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
[Quote=引用 42 楼 cpp2017 的回复:]
如果你不想写那就是

if(type>1)
{
  for(var i = 0;i <type-1i++)
  {
      div = GetNextDiv(div);


}
}
[/Quote]
不明白您的意思, $("divid checkbox ")用纯javascript代码怎么表示
cpp2017 2009-08-02
  • 打赏
  • 举报
回复
如果你不想写那就是

if(type>1)
{
for(var i = 0;i<type-1i++)
{
div = GetNextDiv(div);


}
}
cpp2017 2009-08-02
  • 打赏
  • 举报
回复
写3
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 cpp2017 的回复:]
如果是三个就继续往后走

你为什么不能把id搞得有规律呢?那就容易些了.

[/Quote]

if(type == 2)能判断多个吗?还是要再写if(type == 3)····
cpp2017 2009-08-02
  • 打赏
  • 举报
回复
如果是三个就继续往后走

你为什么不能把id搞得有规律呢?那就容易些了.
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
不一定是两个层,层的个数不固定
if(type == 2) div = GetNextDiv(div);
这个是不是·······
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
就一个“--”吗,不明白,我还以为是您让我“==”呢
cpp2017 2009-08-02
  • 打赏
  • 举报
回复

<!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]
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
好的
cpp2017 2009-08-02
  • 打赏
  • 举报
回复
--
goodsecond 2009-08-02
  • 打赏
  • 举报
回复
明白您的意思了,可是怎么写代码呢?
cpp2017 2009-08-02
  • 打赏
  • 举报
回复
有了规则第一个checkbox就控制他的上级div后面的那个div,另一个就控制他的上级div后面的第二个.
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
有了规则怎么做呢,麻烦您了
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
行,让他们有规则
heavilyarmed 2009-08-02
  • 打赏
  • 举报
回复
您看看25楼吧
加载更多回复(28)

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧