首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

动态添加的onclick事件不响应,望高手执教解决方法

2012-02-23 
动态添加的onclick事件不响应,望高手执教语言C#,页面放2个服务器端控件 asp:CheckBoxList 和 asp:DropD

动态添加的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;

热点排行