blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            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個比較嚴重的問題

          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;



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1577056

          posted on 2007-07-18 15:38 渠上月 閱讀(731) 評論(0)  編輯  收藏 所屬分類: js tips
          主站蜘蛛池模板: 家居| 博湖县| 漠河县| 泸定县| 航空| 鲁甸县| 霸州市| 巴中市| 隆德县| 长治县| 太仆寺旗| 双牌县| 佳木斯市| 南开区| 萝北县| 颍上县| 哈尔滨市| 化隆| 云南省| 烟台市| 顺义区| 米林县| 瓦房店市| 仁化县| 商都县| 泸水县| 孙吴县| 新民市| 工布江达县| 恩施市| 页游| 锦州市| 长子县| 启东市| 连平县| 林州市| 南漳县| 广水市| 永州市| 安义县| 洛宁县|