<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個比較嚴(yán)重的問題
1、在addAffair()時,頁面生成后給客戶端生成的單一的checkbox掛onclick事件,如果直接寫成
checkBox.onclick = checkedAffair();是不響應(yīng)的,這是在調(diào)用函數(shù),應(yīng)該
checkBox.onclick = function(ev) { 函數(shù) }
2、getText(),取不到checkbox的Text,Value貌似確實(shí)取不到,改用獲取checkbox的ClientID的尾數(shù)來記錄value的辦法,但是getElementById,取到的只是“on”,后來又想根據(jù)getElementsByTagName("input")得到checked的index,但是返回的值是undefind,后來又想通過CheckBoxList生成的<table>,用DOM模型來取,依然找不到
解決辦法 var value = checkbox[index].nextSibling.innerHTML;
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1577056