CheckBoxList 和 DropDownList 的二级联动

系统 1488 0
< scriptlanguage = " javascript " type = " text/javascript " >
<!--
// 添加CheckBoxList事件
function addAffair()
... {
var checkList = document.getElementById( " cblTeamPerson " );
var childrens = checkList.getElementsByTagName( " input " );
var count = childrens.length;
if (count == 0 )
return ;

var checkBox;
var checkBoxid;
for ( var i = 0 ;i < count;i ++ )
... {
checkBoxid
= " cblTeamPerson_ " + i;
checkBox
= document.getElementById(checkBoxid);
checkBox.onclick
= function (ev)
... {
checkedAffair((ev
|| window.event).srcElement || ev.currentTarget);
}

}

}


// 添加CheckBox的onclick事件
function checkedAffair(checkBoxID)
... {
var checkBox = document.getElementById(checkBoxID.id);
var dropDownList = document.getElementById( " ddlTeamLeader " );
if (checkBox.checked == true )
... {
var newOption = document.createElement( " OPTION " );
newOption.text
= getText(checkBox.id);
newOption.value
= getValue(checkBox.id);
dropDownList.options.add(newOption);
}

else if (checkBox.checked == false )
... {
var strValue = getValue(checkBox.id);
var count = dropDownList.options.length;
var children;

for ( var i = 0 ;i < count;i ++ )
... {
children
= dropDownList.options[i].value;
if (children == strValue)
... {
dropDownList.options.remove(i);
}

}

}

}


// Gettheevent.onclickText
function getText(checkBoxID)
... {
var checkBoxList = document.getElementById( " cblTeamPerson " );
var checkbox = checkBoxList.getElementsByTagName( " input " );
var index = getValue(checkBoxID);
var intIndex = parseInt(index);

alert(checkbox[index].nextSibling.innerHTML);

var value = checkbox[index].nextSibling.innerHTML;
return value;
}


// Gettheevent.onclickValue
function getValue(checkBoxID)
... {
var checkBox = document.getElementById(checkBoxID);
var factLength = checkBox.id.length;
if (factLength == 15 )
... {
return checkBox.id.substring( 14 , 15 );
}

else
... {
return checkBox.id.substring( 14 , 16 );
}

}

// -->
</ script >

遇到的2个比较严重的问题

1、在addAffair()时,页面生成后给客户端生成的单一的checkbox挂onclick事件,如果直接写成

checkBox.onclick = checkedAffair();是不响应的,这是在调用函数,应该

checkBox.onclick = function(ev) { 函数 }

2、getText(),取不到checkbox的Text,Value貌似确实取不到,改用获取checkbox的ClientID的尾数来记录value的办法,但是getElementById,取到的只是“on”,后来又想根据getElementsByTagName("input")得到checked的index,但是返回的值是undefind,后来又想通过CheckBoxList生成的<table>,用DOM模型来取,依然找不到

解决办法 var value = checkbox[index].nextSibling.innerHTML;


CheckBoxList 和 DropDownList 的二级联动


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论