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 相关文章推荐
用javascript实现自定义标签
May 08 Javascript
javascript校验价格合法性实例(必须输入2位小数)
May 05 Javascript
javascript时间函数大全
Jun 30 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
window.open()实现post传递参数
Mar 12 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
EditPlus 正则表达式 实战(3)
Dec 15 Javascript
JS闭包用法实例分析
Mar 27 Javascript
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
JS实现json数组排序操作实例分析
Oct 28 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 Javascript
在vue中获取wangeditor的html和text的操作
Oct 23 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面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
vue实现分页组件
2020/06/16 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
jQuery实现html可联动的百分比进度条
2020/03/26 jQuery
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
Flask之flask-session的具体使用
2018/07/26 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
《问银河》教学反思
2014/02/19 职场文书
详解Python常用的魔法方法
2021/06/03 Python