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;
}
// */
}
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;
}
// */
}