DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計

          積分與排名

          好友之家

          最新評論

          js中實現(xiàn)table的插入、修改、刪除

          進來工作慢慢遠離web、遠離js,看著自己這些年來學(xué)習(xí)過程中寫過的上百個的js demo,感覺還是把它們發(fā)上來吧。雖然它們不夠完善,但對于js初學(xué)者還是比較有用的。整理一下慢慢發(fā)上來,算是留念吧。

          好了,第一從table開始吧
          就是上邊是一個表,下邊是一些錄入控件text ,select
          實現(xiàn)了:插入 ,刪除,修改,讀取,驗證類型唯一性(每種類型只能輸入一個記錄)
          文中的內(nèi)容直接存成html就能看到效果,所以我就不貼圖片了。
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <META NAME="Generator" CONTENT="EditPlus">
          <META NAME="Author" CONTENT="">
          <META NAME="Keywords" CONTENT="">
          <META NAME="Description" CONTENT="">
          </HEAD>
          <script>
              
          var flg=false;
              
          var selectedColor = "#99CCCC";
              
          var initColor = "#ffff99";
              
          var selectedRowIndex = "";
              
          var editObj;
              
          function add(){
                  
          var cell;
                  
          var textNode;
                  
          // add head
                  var type = document.getElementsByName("type")[0];
                  head 
          = type.options[type.selectedIndex].text;
                  
          //check exist
                  var hiddenHeads = document.getElementsByName("hiddenHead");
                  
          for(i=0;i<hiddenHeads.length;i++){
                      
          if(hiddenHeads[i].value == type.value){
                          alert(
          "這個類型的記錄已經(jīng)存在");
                          
          return ;
                      }

                  }

                  
          //add row
                  tbl = document.getElementById("paramTbl");
                  rowsLen 
          = tbl.rows.length;
                  row 
          = tbl.insertRow(rowsLen);        
                  
                  
          //create head tag
                  textNode = document.createTextNode(head);        
                  cell 
          = row.insertCell(0)
                  cell.setAttribute(
          "hight","22");
                  cell.appendChild(textNode);        
                  row.appendChild(cell);        
                  
          //add param tag
                  for(i=1;i<4;i++){            
                      paramValue 
          = document.getElementsByName("param"+i)[0].value;
                      textNode 
          = document.createTextNode(paramValue);            
                      cell 
          = row.insertCell(i)
                      cell.setAttribute(
          "hight","22");
                      cell.appendChild(textNode);
                      row.appendChild(cell);             
                  }

                  
          //add head value
                  hiddenHead = document.createElement("<input type='hidden' name='hiddenHead' value='"+type.value+"'/>");        
                  cell 
          = row.insertCell(4)        
                  cell.setAttribute(
          "hight","22");
                  cell.appendChild(hiddenHead);
                  row.appendChild(cell);
                  
          //add param value
                  for(i=5;i<8;i++){
                      paramValue 
          = document.getElementsByName("param"+(i-4))[0].value;
                      hidden 
          = document.createElement("<input type='hidden' name='hiddenParam"+(i-4)+"' value='"+paramValue+"'/>");
                      cell 
          = row.insertCell(i)
                      cell.style.display
          ='none';
                      cell.appendChild(hidden);
                      row.appendChild(cell);   
                  }


                  row.onclick
          =function(){rowClick(this);};
                  row.bgColor 
          = initColor;
                  init();
              }

              
          function edit(){
                  tbl 
          = document.getElementById("paramTbl");
                  
          if(selectedRowIndex==""){
                      alert(
          "please select a row");
                      
          return ;
                  }

                  
          for(i=1;i<4;i++){
                      paramObj 
          = document.getElementsByName("param"+i)[0];
                      hiddenObj 
          = document.getElementsByName("hiddenParam"+i)[selectedRowIndex-1];
                      hiddenObj.value 
          = paramObj.value;
                      editObj.cells[i].innerText
          =paramObj.value;
                  }

                  init();
              }

              
          function del(){
                  tbl 
          = document.getElementById("paramTbl");
                  tbl.deleteRow(selectedRowIndex);
                  selectedRowIndex 
          = "";
                  init();

              }

              
          function rowClick(obj){
                  tbl 
          = document.getElementById("paramTbl");
                  
          if(selectedRowIndex != ""){
                      tbl.rows[selectedRowIndex].bgColor 
          = initColor;
                  }

                  selectedRowIndex 
          = obj.rowIndex;
                  obj.bgColor 
          = selectedColor;
                  
          //reset select 
                  var type = document.getElementsByName("type")[0];
                  
          var hiddenHead = document.getElementsByName("hiddenHead")[selectedRowIndex-1];        
                  
          var opts = type.options;
                  
          if(flg){
                  alert(selectedRowIndex
          -1);
                  alert(hiddenHead);
                  alert(hiddenHead.value);
                  }

                  
          for(i=0;i<opts.length;i++){    
                      
          if(opts[i].value == hiddenHead.value ){
                          opts[i].selected 
          = true;
                      }

                  }

                  
          //copy param value
                  for(i=1;i<4;i++){
                      paramObj 
          = document.getElementsByName("param"+i)[0];
                      hiddenObj 
          = document.getElementsByName("hiddenParam"+i)[selectedRowIndex-1];            
                      paramObj.value 
          = hiddenObj.value;
                      
          //alert(hiddenObj.value);
                  }

                  editObj
          =obj;
              }

              
          function init(){
                  
          for(i=1;i<4;i++){            
                      param 
          = document.getElementsByName("param"+i)[0];
                      param.value
          ="";
                  }

                  
          var type = document.getElementsByName("type")[0];
                  type.options[
          0].selected=true;
              }

              
          function test(){
                  
                  hiddenObjs 
          = document.getElementsByName("hiddenParam1")
                  
          for(i=0;i<hiddenObjs.length;i++){
                      alert(hiddenObjs[i].value);
                  }

                  
          var hiddenHeads = document.getElementsByName("hiddenHead");    
                  
          for(i=0;i<hiddenHeads.length;i++){
                      alert(hiddenHeads[i].value);
                  }

              }

              
          function test2(){
                  
          if(flg){
                      flg
          =false;
                  }
          else{
                      flg
          =true;
                  }

              }

              
          function reset(){
                  tbl 
          = document.getElementById("paramTbl");
                  
          if(selectedRowIndex!=""){
                      tbl.rows[selectedRowIndex].bgColor 
          = initColor;
                      selectedRowIndex
          ="";
                  }

                  
          for(i=1;i<4;i++){            
                      param 
          = document.getElementsByName("param"+i)[0];
                      param.value
          ="";
                  }

              }


          </script>
          <BODY>
              
          <div style="height:132px; width:100%; overflow-x:auto; overflow-y:auto; background-color:#ffff99;" >
              
          <table id="paramTbl" width="100%">
                  
          <tr>
                      
          <td>類型</td>
                      
          <td>參數(shù)1</td>
                      
          <td>參數(shù)二</td>
                      
          <td>參數(shù)三</td>
                  
          </tr>
              
          </table>
              
          </div>
              
          <table>
                  
          <tr>
                      
          <td>
                          
          <select name="type" onchange="reset()">
                              
          <option value="typeA">類型A</option>
                              
          <option value="typeB">類型B</option>
                          
          </select>
                      
          </td>
                      
          <td>
                          
          <input type="text" name="param1"/>
                      
          </td>
                      
          <td>
                          
          <input type="text" name="param2"/>
                      
          </td>
                      
          <td>
                          
          <input type="text" name="param3"/>
                      
          </td>
                  
          </tr>
                  
          <tr>
                      
          <td><input type="button" onclick="add()" value="add"/></td>
                      
          <td><input type="button" onclick="edit()" value="edit"/></td>
                      
          <td><input type="button" onclick="del()" value="del"/></td>
                      
          <td><!--<input type="button" onclick="test()" value="test"/>--></td>
                  
          </tr>
              
          </table>
              
          <!--
          <td><input type="button" onclick="test2()" value="test2"/></td>
          <td><input type="button" onclick="alert(selectedRowIndex)" value="test2"/></td>
          -->
          </BODY>
          </HTML>

          posted on 2007-09-10 15:24 dreamstone 閱讀(10323) 評論(4)  編輯  收藏 所屬分類: 片段腳本語言javascript

          評論

          # re: js中實現(xiàn)table的插入、修改、刪除 2008-10-25 00:39 vvd

          不錯哦  回復(fù)  更多評論   

          # re: js中實現(xiàn)table的插入、修改、刪除 2010-08-10 10:44 ss

          ok  回復(fù)  更多評論   

          # re: js中實現(xiàn)table的插入、修改、刪除 2011-09-07 18:30 http://www.aygfsteel.com/Modules/CaptchaImage/JpegI

          http://www.aygfsteel.com/Modules/CaptchaImage/JpegImage.aspx?cacheid=20110907180946http://www.aygfsteel.com/Modules/CaptchaImage/JpegImage.aspx?cacheid=20110907180946  回復(fù)  更多評論   

          # re: js中實現(xiàn)table的插入、修改、刪除 2011-09-07 18:30 http://www.aygfsteel.com/Modules/CaptchaImage/JpegI

          http://www.aygfsteel.com/Modules/CaptchaImage/JpegImage.aspx?cacheid=20110907180949  回復(fù)  更多評論   

          主站蜘蛛池模板: 包头市| 泸水县| 阳西县| 安图县| 梧州市| 临沭县| 台东市| 永川市| 郯城县| 双江| 正阳县| 阿瓦提县| 贵定县| 奇台县| 西藏| 穆棱市| 高青县| 年辖:市辖区| 云龙县| 武胜县| 潮安县| 禹城市| 阜阳市| 淮南市| 托克逊县| 阿克陶县| 泸州市| 新巴尔虎左旗| 巫山县| 敦化市| 尉犁县| 石城县| 屏东县| 休宁县| 墨玉县| 鸡泽县| 泰宁县| 蓬安县| 蒙自县| 巩留县| 临西县|