JS实现动态表格的添加,修改,删除功能(推荐)


Posted in Javascript onJune 15, 2016

1. 首先在页面中配置好一个表格框架

<tr> 
<td>新增参数:</td> 
<td class="pn-fcontent"><input type="button" value="选择" onclick="openAppParamsPage();"/></td> 
<td>参数列表:</td> 
<td class="pn-fcontent"><input type="hidden" id="paramslist" name="paramslist" style="width:190%" height="500"/></td> 
</tr> 
<tr> 
<table id="tab" width="100%" cellspacing="1" cellpadding="0" border="0" style="" class="pn-ltable"> 
<tr> 
<td height="20" valign="top" align="center"> 
参数名称: 
</td> 
<td height="20" valign="top" align="center"> 
参数编码: 
</td> 
<td height="20" valign="top" align="center"> 
参数值: 
</td> 
<td id="pos_1" height="20"> 
操作 
</td> 
</tr> 
<tbody id="sortList"></tbody> 
</table> 
</tr> 
<tr> 
<td align="center" colspan="4"> 
<input type="submit" class="btn" value="保存" onclick="setParamslist();"/> 
<input type="button" class="btn" value="返回"/> 
</td> 
</tr>

2. 相关JS函数

function setParamslist() { 
var tab = document.getElementById("tab"); 
//表格行数 
var rows = tab.rows.length ; 
//表格列数 
var cells = tab.rows.item(0).cells.length ; 
//alert("行数"+rows+"列数"+cells); 
var rowData = ""; 
for(var i=1;i<rows;i++) { 
var cellsData = new Array(); 
for(var j=0;j<cells-1;j++) { 
cellsData.push(tab.rows[i].cells[j].innerText); 
} 
rowData = rowData + "|" + cellsData; 
} 
document.getElementById("paramslist").value = rowData; 
} 
//打开相关新增应用参数界面 
function openAppParamsPage() { 
var param = new Object(); 
//这个参数一定要传。 
param.win = window; 
param.id = 100; 
param.name = "test"; 
param.birthday = new Date(); 
var result = window.showModalDialog("addParamsItem","dialogWidth:500px;dialogHeight:600px;dialogLeft:200px;dialogTop=200px"); 
//var temp = document.getElementById("paramslist").value; 
//document.getElementById("paramslist").value = temp + result; 
addSort(result); 
} 
// 增加应用参数函数 
function addSort(data) { 
var name = data; 
if(name == ""||name==undefined ) { 
return; 
} 
console.log(data); 
var params = data.split(","); 
var paramName = params[0]; 
var paramCode = params[1]; 
var paramValue = params[2]; 
var row = document.createElement("tr"); 
row.setAttribute("id", paramCode); 
var cell = document.createElement("td"); 
cell.appendChild(document.createTextNode(paramName)); 
row.appendChild(cell); 
cell = document.createElement("td"); 
cell.appendChild(document.createTextNode(paramCode)); 
row.appendChild(cell); 
cell = document.createElement("td"); 
cell.appendChild(document.createTextNode(paramValue)); 
row.appendChild(cell); 
var deleteButton = document.createElement("input"); 
deleteButton.setAttribute("type", "button"); 
deleteButton.setAttribute("value", "删除"); 
deleteButton.onclick = function () { deleteSort(paramCode); }; 
cell = document.createElement("td"); 
cell.appendChild(deleteButton); 
row.appendChild(cell); 
document.getElementById("sortList").appendChild(row); 
} 
// 删除应用参数函数 
function deleteSort(id) { 
if (id!=null){ 
var rowToDelete = document.getElementById(id); 
var sortList = document.getElementById("sortList"); 
sortList.removeChild(rowToDelete); 
} 
}

附加表格的修改函数

//弹出更新界面相关信息 
function updateSort(id) { 
if (id!=null){ 
var row = document.getElementById(id); 
//alert("row is " + row.cells[0].innerHTML); 
var id = row.cells[0].innerHTML; 
var paramName = row.cells[1].innerHTML; 
var paramCode = row.cells[2].innerHTML; 
var paramValue = row.cells[3].innerHTML; 
var param = new Object(); 
//这个参数一定要传。 
param.win = window; 
param.id = 100; 
param.name = "test"; 
param.birthday = new Date(); 
var result = window.showModalDialog(baseUrl + "app/updateParamsItem?id=" + id + "¶mName=" + paramName + "¶mCode=" + paramCode + "¶mValue=" + paramValue, 
"dialogWidth:500px;dialogHeight:600px;dialogLeft:200px;dialogTop=200px"); 
var arr = result.split(","); 
row.cells[0].innerHTML = arr[0]; 
row.cells[1].innerHTML = arr[1]; 
row.cells[2].innerHTML = arr[2]; 
row.cells[3].innerHTML = arr[3]; 
} 
}

3. 弹出框页面,新增或者修改参数,并回写相关数据。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>新增应用</title> 
<#include "/views/head.html"/> 
</head> 
<body> 
<div class="body-box"> 
<div class="clear"></div> 
<form > 
<table width="100%" cellspacing="1" cellpadding="2" border="0" class="pn-ftable"> 
<tr> 
<td>参数名称:</td> 
<td class="pn-fcontent"><input type="text" maxlength="20" class="" required="true" id="paramName" name="paramName"/></td> 
</tr> 
<tr> 
<td>参数编码:</td> 
<td class="pn-fcontent"><input type="text" maxlength="20" class="" required="true" id="paramCode" name="paramCode" required="true" /></td> 
</tr> 
<tr> 
<td>参数值:</td> 
<td class="pn-fcontent"><input type="text" maxlength="20" class="" required="true" id="paramValue" name="paramValue" required="true" /></td> 
</tr> 
<tr> 
<td align="center" colspan="4"> 
<input type="submit" value="保存" onclick="returnResult();"/> 
<input type="button" value="返回" onclick="closeWindow();"/> 
</td> 
</tr> 
</table> 
</form> 
</div> 
</body> 
</html> 
<script type="text/javascript"> 
//直接关闭窗口 
function closeWindow() { 
window.close(); 
} 
//获取值,组装后返回 
function returnResult() { 
if(!$('form').valid()) 
return; 
var paramName = document.getElementById("paramName"); 
var paramCode = document.getElementById("paramCode"); 
var paramValue = document.getElementById("paramValue"); 
//alert("value is " + paramName.value + "," + paramCode.value + "," + paramValue.value); 
var result = paramName.value + "," + paramCode.value + "," + paramValue.value; 
window.returnValue = result; 
window.close(); 
} 
</script>

以上所述是小编给大家介绍的JS实现动态表格的添加,修改,删除功能(推荐)全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Jquery+JSon 无刷新分页实现代码
Apr 01 Javascript
js获取时间(本周、本季度、本月..)
Nov 22 Javascript
表格奇偶行设置不同颜色的核心JS代码
Dec 24 Javascript
JavaScript获得url查询参数的方法
Jul 02 Javascript
JS常用字符串方法(推荐)
Jan 15 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
Jun 27 Javascript
完美的js图片轮换效果
Feb 05 Javascript
详解js的作用域、预解析机制
Feb 05 Javascript
Angular4集成ng2-file-upload的上传组件
Mar 14 Javascript
vue.js 实现输入框动态添加功能
Jun 25 Javascript
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
vue使用axios实现excel文件下载的功能
Jul 16 Javascript
JS封装的自动创建表格的实现代码
Jun 15 #Javascript
基于JavaScript代码实现自动生成表格
Jun 15 #Javascript
JavaScript生成带有缩进的表格代码
Jun 15 #Javascript
全面解析JavaScript中apply和call以及bind(推荐)
Jun 15 #Javascript
JavaScript仿flash遮罩动画效果
Jun 15 #Javascript
jquery中的常见问题及快速解决方法小结
Jun 14 #Javascript
使用递归遍历对象获得value值的实现方法
Jun 14 #Javascript
You might like
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
深入apache host的配置详解
2013/06/09 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
前端必学之PHP语法基础
2016/01/01 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
python用列表生成式写嵌套循环的方法
2018/11/08 Python
Python检查ping终端的方法
2019/01/26 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
python 实现识别图片上的数字
2019/07/30 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
python如何提升爬虫效率
2020/09/27 Python
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
中学教师岗位职责
2013/11/26 职场文书
实习教师自我鉴定
2013/12/09 职场文书
班级心理活动总结
2014/07/04 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
2014年话务员工作总结
2014/11/19 职场文书
优秀班组事迹材料
2014/12/24 职场文书
MongoDB使用场景总结
2022/02/24 MongoDB
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技