<
script language
=
"
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) ;
}
}
}
}
//
Get the event.onclick Text
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 ;
}
//
Get the event.onclick Value
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;