javascript常用方法6

var initChecked=1; //防止attachEvent多次. 那样会响应多次.
var disabledBtn=1; //默认为一组添加和删除按钮,但如果有多个from则有多组添加和删除按钮,它们的name值是一样的【下面置灰按钮有用到】
function initCheckEvent(obj){// alert(1)
if(arguments[1]) initChecked=arguments[1]; // 当一个页面中有多个from时用到此参数【参数2】
if(arguments[2]) disabledBtn=arguments[2]; // 要控制的 添加和删除按钮 是第几个form里的【参数3】
var eles = obj.elements;
if (eles.length > 0)
{ var checkboxNum=0;
if(initChecked){
for (var i=0; i<eles.length; i++)
{//alert(eles[i].clientTop);
var node = eles[i];
if (node.type == "checkbox" && node.disabled == false)
{
//node.attachEvent("onclick",disableAddBtn);
//node.attachEvent("onmouseover",handMouse);
addEvent(node,"onclick",disableAddBtn);
addEvent(node,"onmouseover",handMouse);
checkboxNum++;
//node.οnmοuseοver="alert('df')";
}
}//for
initChecked=0;
}
//alert(checkboxNum);
}
}
function handMouse(e){ //默认传入event对象
var eventObj=eventMatchObj(e); //alert(eventObj.tagName);
eventObj.style.cursor="pointer";
}
function disableAddBtn(e){
// /*
//alert("ff");
var eventObj=eventMatchObj(e); //alert(eventObj.tagName);
var form=null;
//alert(typeof(arguments[0])); //all object
if(typeof(arguments[0])=="string"){ //alert(arguments[0]); ?? 我也忘了干吗用的了
form=document.getElementById(arguments[0]);
}else{
while(eventObj.tagName != 'FORM')
{
eventObj = eventObj.parentNode;
}
form=eventObj;
}

// alert(form.id);
var allNoChecked=true;//全未选中
var oneChecked=false;
var allCheckBoxNum=0;
var subCheckedBoxNum=0;

var eles = form.elements;
if (eles.length > 0)
{ //alert(eles[0].id);
//alert(eles.length);
var selectAllBox=null; //全选筐
for (var i=0; i<eles.length; i++)
{
var node = eles[i];
if (node.type == "checkbox" && node.disabled == false)
{ //alert(node.id.indexOf("selectAll"));
if(node.id.indexOf("selectAll")<0){ //if 1 : 排除第一个复选筐[它是全选的],复选筐中只有它的id含selectAll
allCheckBoxNum++; //alert(node.id);
if(!node.checked){
allNoChecked=true;
}else{
allNoChecked=false;
oneChecked=true;
subCheckedBoxNum++;
}
}else{
selectAllBox=node;
}//if 1
}
}//for

}
//alert(disabledBtn);


if(allCheckBoxNum==subCheckedBoxNum){
selectAllBox.checked=true;
}else{
selectAllBox.checked=false;
}
// */
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值