动态添加的onclick事件不响应,望高手执教
语言C#,页面放2个服务器端控件 <asp:CheckBoxList> 和 <asp:DropDownList> ,在.cs文件中绑定CheckBoxList的数据
希望实现的效果是,不刷新页面,点击CheckBox时把选中的值添加到DropDownList中
<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.attachEvent( "onclick ",checkedAffair(checkBoxid));
alert(checkBox);
checkBox.onclick = checkedAffair(checkBoxid);
alert(checkBox.onclick);
}
}
// 添加 CheckBox 的 onclick 事件
function checkedAffair(checkBoxID)
{
var checkBox = document.getElementById(checkBoxID);
var dropDownList = document.getElementById( "ddlTeamLeader ");
if (checkBox.checked == true)
{
var newOption = document.createElement( "OPTION ") ;
newOption.text = checkBox.text ;
newOption.value = checkBox.value ;
dropDownList.options.add(newOption);
}
else if (checkBox.checked == false)
{
var strValue = checkBox.value ;
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) ;
}
}
}
}
//-->
</script>
现在的问题是,checkBox.onclick = checkedAffair(checkBoxid);实现不了,我用checkBox.attachEvent( "onclick ",checkedAffair(checkBoxid));也不响应,不明白为什么,请高手执教
[解决办法]
checkBox.onclick = function(ev){//ie\ff
checkedAffair((ev || window.event).srcElement || ev.currentTarget);
}
// 添加 CheckBox 的 onclick 事件
function checkedAffair(_checkBox)
{
var checkBox = _checkBox;