简化的代码,(可能存在效率问题)

function CheckAll(form)...{
for (var i=0;i<form.elements.length;i++)...{
var e = form.elements[i];
e.checked == true ? e.checked = false : e.checked = true;
}
}
我们ERP上的代码
function CheckAll()
...{
boolCheckAll = true;
var isChecked = document.all.DataGrid2__ctl1_CheckBox3.checked;
var objs = document.all.DataGrid2.getElementsByTagName("input");
if (objs.length > 1)
...{
for(i=1;i<objs.length;i++)
...{
if (objs[i].type =="checkbox")
...{
if (!(isChecked == objs[i].checked) )
...{
objs[i].click();
}
}
}
}
}
下面是meizz的全选代码.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<input type=checkbox name=mm value=a onclick="Item(this, 'mmAll')"/><br/>
<input type=checkbox name=mm value=b onclick="Item(this, 'mmAll')"/><br/>
<input type=checkbox name=mm value=c onclick="Item(this, 'mmAll')"/><br/>
<input type=checkbox name=mm value=d onclick="Item(this, 'mmAll')"/><br/>
<input type=checkbox name=mm value=e onclick="Item(this, 'mmAll')"/><br/><br/>
<input type=checkbox name=mmAll onclick="All(this, 'mm')">全选与不全选的切换
<script language=Javascript>
function All(e, itemName)
...{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked; //得到那个总控的复选框的选中状态
}
function Item(e, allName)
...{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
...{
var aa = document.getElementsByName(e.name );
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
</script>
</body>
</html>

以前 3种,建议使用第2种( 我们ERP上的代码).
799

被折叠的 条评论
为什么被折叠?



