现在实现了点全选的checkbox的全选和取消全选 ,现在有个问题,如何实现 ,点下面的那一排checkbox中的一个 全选的那个checkbox的checked就变成false了。
<script language="javascript">
function checkAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for (var i = 0; i < len; i++) {
if ((el[i].type == "checkbox") && (el[i].name == name)) {
el[i].checked = true;
}
}
}
function clearAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for (var i = 0; i < len; i++) {
if ((el[i].type == "checkbox") && (el[i].name == name)) {
el[i].checked = false;
}
}
}</script>
<input type="checkbox" id="cbglsyAll" value="" onclick="if(this.checked==true) { checkAll('gl'); } else { clearAll('gl'); }" name="gl" />全选
<br />
<input type="checkbox" name="gl" id="cbJbsz" value="" />基本设置
<input type="checkbox" name="gl" id="cbSsyh" value="" />搜索优化
<input type="checkbox" name="gl" id="cbGggl" value="" />公告管理
<input type="checkbox" name="gl" id="cbYqlj" value="" />友情链接
<input type="checkbox" name="gl" id="cbAdv" value="" />广告管理
<input type="checkbox" name="gl" id="cbHdp" value="" />幻灯片
<script language="javascript">
function checkAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for (var i = 0; i < len; i++) {
if ((el[i].type == "checkbox") && (el[i].name == name)) {
el[i].checked = true;
}
}
}
function clearAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for (var i = 0; i < len; i++) {
if ((el[i].type == "checkbox") && (el[i].name == name)) {
el[i].checked = false;
}
}
}</script>
<input type="checkbox" id="cbglsyAll" value="" onclick="if(this.checked==true) { checkAll('gl'); } else { clearAll('gl'); }" name="gl" />全选
<br />
<input type="checkbox" name="gl" id="cbJbsz" value="" />基本设置
<input type="checkbox" name="gl" id="cbSsyh" value="" />搜索优化
<input type="checkbox" name="gl" id="cbGggl" value="" />公告管理
<input type="checkbox" name="gl" id="cbYqlj" value="" />友情链接
<input type="checkbox" name="gl" id="cbAdv" value="" />广告管理
<input type="checkbox" name="gl" id="cbHdp" value="" />幻灯片
判断如果未选中就给cbglsyAll设为未选中,当然JQ会比较方便点。。
function checkAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for (var i = 0; i < len; i++) {
if ((el[i].type == "checkbox") && (el[i].name == name)) {
el[i].checked = true;
}
}
}
function clearAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for (var i = 0; i < len; i++) {
if ((el[i].type == "checkbox") && (el[i].name == name)) {
el[i].checked = false;
}
}
}
document.documentElement.onclick = function(e)
{
e = e || window.event;
t = e.target || e.srcElement;
if(t.name != "gl") return;
var checkboxes = document.getElementsByName("gl");
var checkall = true;
for(var i = 0 ; i < checkboxes.length ; i ++)
{
if(!checkboxes[i].checked)
{
checkall = false;
break;
}
}
document.getElementById("cbglsyAll").checked = checkall
}</script><input type="checkbox" id="cbglsyAll" value="" onclick="if(this.checked==true) { checkAll('gl'); } else { clearAll('gl'); }" name="all" />全选
<br />
<input type="checkbox" name="gl" id="cbJbsz" value="" />基本设置
<input type="checkbox" name="gl" id="cbSsyh" value="" />搜索优化
<input type="checkbox" name="gl" id="cbGggl" value="" />公告管理
<input type="checkbox" name="gl" id="cbYqlj" value="" />友情链接
<input type="checkbox" name="gl" id="cbAdv" value="" />广告管理
<input type="checkbox" name="gl" id="cbHdp" value="" />幻灯片
var chks = document.getElementsByName("gl");
//不包括全选按钮,从1开始
for (var i = 1; i < chks.length; i++) {
chks[i].onclick = setState;
}
} function setState() {
var chks = document.getElementsByName("gl");
var selectedCount = 0;
for (var i = 1; i < chks.length; i++) {
if (chks[i].checked) {
selectedCount++;
}
}
document.getElementById("cbglsyAll").checked = (selectedCount == chks.length-1);
}