blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks
          <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

          posted on 2007-07-18 15:38 渠上月 閱讀(731) 評論(0)  編輯  收藏 所屬分類: js tips
          主站蜘蛛池模板: 兴仁县| 名山县| 深泽县| 静安区| 贡嘎县| 永州市| 英超| 固阳县| 大石桥市| 合肥市| 灌云县| 文安县| 姚安县| 余庆县| 安乡县| 五河县| 和政县| 桂阳县| 双江| 吴川市| 舟曲县| 左云县| 那坡县| 喀喇| 临漳县| 竹山县| 阿瓦提县| 怀柔区| 浠水县| 桂阳县| 龙山县| 吴忠市| 岢岚县| 嘉义县| 天水市| 论坛| 都安| 工布江达县| 饶河县| 台北市| 五指山市|