JS 更新删除一行

//SystemManger.js

Code:
  1. //获取当前控件所在的行   
  2. function getParent(src, tagName) {   
  3.     var par = src.parentElement;   
  4.     while (par.tagName.toLowerCase() != tagName) {   
  5.         par = par.parentElement;   
  6.     }   
  7.     return par;   
  8. }   
  9. //添加行   
  10. function AddNewRow(src) {   
  11.     var table = getParent(src, "table")   
  12.     var lastRow = table.rows[table.rows.length - 2];   
  13.     var newRow = table.insertRow(table.rows.length - 2);   
  14.     var cellsLength = lastRow.cells.length;   
  15.     var sIndex = 0;   
  16.     while (sIndex < cellsLength) {   
  17.         var newCell = newRow.insertCell();   
  18.         newCell.innerHTML = lastRow.cells[sIndex].innerHTML;   
  19.         if (sIndex == 0) {   
  20.             newCell.innerText = newRow.rowIndex;   
  21.         }   
  22.         sIndex++;   
  23.     }   
  24.     newRow.isNew = true;   
  25.     setRowOperEnable(newRow, false);   
  26. }   
  27. //编辑行   
  28. function SetEditModel(src, isEdit, isCancel) {   
  29.     var row = getParent(src, "tr");   
  30.     var cellsLength = row.cells.length;   
  31.     var startLength = 1;   
  32.     while (startLength < cellsLength - 1) {   
  33.         var cell = row.cells[startLength];   
  34.         if (isEdit) {   
  35.             cell.children[0].style.display = "none";   
  36.             cell.children[1].style.removeAttribute("display");   
  37.             if (cell.children[1].tagName.toLowerCase() != "select") {   
  38.                 cell.children[1].value = cell.children[0].innerHTML;   
  39.             }   
  40.             else {   
  41.                 var ops = cell.children[1].options;   
  42.                 for (var i = 0; i < ops.length; i++) {   
  43.                     var tempValue = ops[i].value;   
  44.                     if (tempValue == cell.children[0].innerHTML) {   
  45.                         ops[i].selected = true;   
  46.                     }   
  47.                 }   
  48.             }   
  49.         }   
  50.         else {   
  51.             cell.children[1].style.display = "none";   
  52.             cell.children[0].style.removeAttribute("display");   
  53.             if (!isCancel) {   
  54.                 cell.children[0].innerHTML = cell.children[1].value;   
  55.             }   
  56.         }   
  57.         startLength++;   
  58.     }   
  59.     var operCell = row.cells[cellsLength - 1];   
  60.     var srcText = src.innerText;   
  61.     var aLength = operCell.children.length;   
  62.     var astart = 0;   
  63.     if (row.isNew && srcText == "取消") {   
  64.         var table = getParent(src, "table");   
  65.         table.deleteRow(row.rowIndex);   
  66.         setRowOperEnable(table.rows[0], true);   
  67.         return;   
  68.     }   
  69.     if (row.isNew && srcText == "更新") {   
  70.         row.isNew = false;   
  71.     }   
  72.     if (srcText == "修改") {   
  73.         setRowOperEnable(row, false);   
  74.     }   
  75.     if (srcText == "更新" || srcText == "取消") {   
  76.         setRowOperEnable(row, true);   
  77.     }   
  78.     while (astart < aLength) {   
  79.         var child = operCell.children[astart];   
  80.         var childText = child.innerText;   
  81.         if (srcText == "修改") {   
  82.             if (childText == "修改" || childText == "删除") {   
  83.                 child.style.display = "none";   
  84.             }   
  85.             else {   
  86.                 child.style.removeAttribute("display");   
  87.             }   
  88.         }   
  89.         if (srcText == "更新" || srcText == "取消") {   
  90.             if (childText == "更新" || childText == "取消") {   
  91.                 child.style.display = "none";   
  92.             }   
  93.             else {   
  94.                 child.style.removeAttribute("display");   
  95.             }   
  96.         }   
  97.         astart++;   
  98.     }   
  99. }   
  100. //删除行   
  101. function deleteRow(src) {   
  102.     if (confirm('确认删除?')) {   
  103.         var row = getParent(src, "tr");   
  104.         var table = getParent(src, "table");   
  105.         table.deleteRow(row.rowIndex);   
  106.         setRowIndex(table);   
  107.         return true;   
  108.     }   
  109.     else {   
  110.         return false;   
  111.     }   
  112.   
  113. }   
  114. //设置行号   
  115. function setRowIndex(table) {   
  116.     var rows = table.rows;   
  117.     var sIndex = 1;   
  118.     var end = table.rows.length - 2;   
  119.     while (sIndex < end) {   
  120.         table.rows[sIndex].cells[0].innerText = sIndex.toString();   
  121.         sIndex++;   
  122.     }   
  123. }   
  124. function setRowOperEnable(row, enable) {   
  125.     var table = getParent(row, "table");   
  126.     var rowLength = table.rows.length;   
  127.     var cellLength = table.rows[0].cells.length;   
  128.     if (enable) {   
  129.         table.rows[rowLength - 1].cells[1].removeAttribute("disabled");   
  130.     }   
  131.     else {   
  132.         table.rows[rowLength - 1].cells[1].setAttribute("disabled""disabled");   
  133.     }   
  134.     var sIndex = 1;   
  135.     var end = rowLength - 2;   
  136.     while (sIndex < end) {   
  137.         if (sIndex != row.rowIndex) {   
  138.             if (enable) {   
  139.                 table.rows[sIndex].cells[cellLength - 1].removeAttribute("disabled");   
  140.             }   
  141.             else {   
  142.                 table.rows[sIndex].cells[cellLength - 1].setAttribute("disabled""disabled");   
  143.             }   
  144.         }   
  145.         sIndex++;   
  146.     }   
  147. }  

//test.htm

Code:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4.     <title>部门</title>  
  5.   
  6.   
  7.     <script type="text/javascript" src="SystemManage.js"></script>  
  8.   
  9. </head>  
  10. <body>  
  11.     <div id="WapperDiv" style="float: left; background-color: White;">  
  12.         <table id="LayoutTable" cellpadding="0px" cellspacing="0px" style="width: auto; height: auto;">  
  13.             <tr id="TopTr">  
  14.                   
  15.             </tr>  
  16.             <tr id="CenterTr">  
  17.                 <td >  
  18.                 </td>  
  19.                 <td >  
  20.                     <div class="DocumentTitleDiv">  
  21.                         <label id="DocumentTitleLabel">  
  22.                             部门</label>  
  23.                     </div>  
  24.                     <div align="center">  
  25.                         <table>  
  26.                             <tr>  
  27.                                 <td>  
  28.                                     <label>  
  29.                                         部门名称</label>  
  30.                                     <input id="DepartmentName" type="text" class="SearchTextBox" />  
  31.                                 </td>  
  32.                                 <td>  
  33.                                 </td>  
  34.                                 <td>  
  35.                                     <input id="SearchButton" type="button" value="查询" class="button" />  
  36.                                 </td>  
  37.                                 <td>  
  38.                                 </td>  
  39.                             </tr>  
  40.                         </table>  
  41.                         <table id="departmenttable"  border ="1" cellspacing="0px" cellpadding="0px"  
  42.                             rules="none">  
  43.                             <thead>  
  44.                                 <tr >  
  45.                                     <th style="width: 33px;">  
  46.                                         序号   
  47.                                     </th>  
  48.                                     <th style="width: 81px;">  
  49.                                         部门名称   
  50.                                     </th>  
  51.                                     <th style="width: 81px;">  
  52.                                         电话   
  53.                                     </th>  
  54.                                     <th style="width: 81px;">  
  55.                                         联系人   
  56.                                     </th>  
  57.                                     <th style="width: 97px;">  
  58.                                         操作   
  59.                                     </th>  
  60.                                 </tr>  
  61.                             </thead>  
  62.                             <tr>  
  63.                                 <td>  
  64.                                     1   
  65.                                 </td>  
  66.                                 <td>  
  67.                                     <label>  
  68.                                         物资供应科</label>  
  69.                                     <input type="text" style="display: none"  />  
  70.                                 </td>  
  71.                                 <td>  
  72.                                     <label>  
  73.                                     </label>  
  74.                                     <input type="text" style="display: none"  />  
  75.                                 </td>  
  76.                                 <td>  
  77.                                     <label>  
  78.                                     </label>  
  79.                                     <input type="text" style="display: none"  />  
  80.                                 </td>  
  81.                                 <td>  
  82.                                     <a href="javascript:void(0);" onclick="SetEditModel(this,1)">修改</a> <a href="javascript:void(0);" onclick="return deleteRow(this);">  
  83.                                         删除</a> <a href="javascript:void(0);" style="display: none;" onclick="SetEditModel(this,0)">  
  84.                                             更新</a> <a href="javascript:void(0);" style="display: none;" onclick="SetEditModel(this,0,1)">  
  85.                                                 取消</a>  
  86.                                 </td>  
  87.                             </tr>  
  88.                             <tr style="display: none;">  
  89.                                 <td>  
  90.                                 </td>  
  91.                                 <td>  
  92.                                     <label style="display: none">  
  93.                                     </label>  
  94.                                     <input type="text"  />  
  95.                                 </td>  
  96.                                 <td>  
  97.                                     <label style="display: none">  
  98.                                     </label>  
  99.                                     <input type="text"  />  
  100.                                 </td>  
  101.                                 <td>  
  102.                                     <label style="display: none">  
  103.                                     </label>  
  104.                                     <input type="text"  />  
  105.                                 </td>  
  106.                                 <td>  
  107.                                     <a href="javascript:void(0);" style="display: none;" onclick="SetEditModel(this,1)">  
  108.                                         修改</a> <a href="javascript:void(0);" style="display: none;" onclick="return deleteRow(this);">删除</a> <a href="javascript:void(0);"  
  109.                                             onclick="SetEditModel(this,0)">更新</a> <a href="javascript:void(0);" onclick="SetEditModel(this,0,1)">  
  110.                                                 取消</a>  
  111.                                 </td>  
  112.                             </tr>  
  113.                             <tfoot>  
  114.                                 <tr>  
  115.                                     <td colspan="4" align="right" style="border-right: none;">  
  116.                                     </td>  
  117.                                     <td style="border-left: none;">  
  118.                                         <a href="javascript:void(0);" onclick="AddNewRow(this)">添加</a>  
  119.                                     </td>  
  120.                                 </tr>  
  121.                             </tfoot>  
  122.                         </table>  
  123.                     </div>  
  124.                 </td>  
  125.                 <td class="td3">  
  126.                 </td>  
  127.             </tr>  
  128.             <tr id="BottomTr">  
  129.                    
  130.             </tr>  
  131.             <tr>  
  132.                   
  133.             </tr>  
  134.         </table>  
  135.     </div>  
  136. </body>  
  137. </html>  

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值