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 渠上月 閱讀(738) 評論(0)  編輯  收藏 所屬分類: js tips
          主站蜘蛛池模板: 东光县| 阿拉善右旗| 仪陇县| 延寿县| 阜南县| 根河市| 姜堰市| 汉寿县| 濮阳市| 武鸣县| 德令哈市| 济宁市| 岗巴县| 乌拉特后旗| 商水县| 望谟县| 嘉峪关市| 都兰县| 绵竹市| 金川县| 西昌市| 胶州市| 沭阳县| 山东| 广南县| 张家界市| 靖宇县| 会东县| 新蔡县| 宁夏| 贵溪市| 香格里拉县| 黄石市| 普兰县| 霍林郭勒市| 平江县| 潞西市| 秀山| 广灵县| 盘山县| 泗洪县|