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 相关文章推荐
asp.net+js 实现无刷新上传解析csv文件的代码
May 17 Javascript
IE不支持getElementsByClassName最终完美解决方案
Dec 17 Javascript
js控制表单奇偶行样式的简单方法
Jul 31 Javascript
javascript控制层显示或隐藏的方法
Jul 22 Javascript
JavaScript仿聊天室聊天记录
Dec 27 Javascript
bootstrap table分页模板和获取表中的ID方法
Jan 10 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
Oct 26 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
Jul 27 Javascript
使用jQuery实现简单的tab框实例
Aug 22 jQuery
vue-router 权限控制的示例代码
Sep 21 Javascript
Angularjs之ngModel中的值验证绑定方法
Sep 13 Javascript
详解Vue中组件传值的多重实现方式
Aug 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
JavaScript更改class和id的方法
2008/10/10 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
基于axios 解决跨域cookie丢失的问题
2018/09/26 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
深入理解Python中的内置常量
2017/05/20 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python连接mysql有哪些方法
2020/06/24 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
一套.net面试题及答案
2016/11/02 面试题
认识深刻的检讨书
2014/02/16 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
骨干教师申报材料
2014/12/17 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
深入理解python多线程编程
2021/04/18 Python
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis