日期:2014-05-16 浏览次数:20384 次
动态增删改Table表格
一、用js做的表格动态增删查改
工具JavaScript:util.js
//全选反选 function checkAll(boxName) { var checkBox = document.getElementsByName(boxName); for (i = 0; i < checkBox.length; i++) { var checked = checkBox[i].checked; if (checked) { checkBox[i].checked = false; } else { checkBox[i].checked = true; } } } //多选验证 function multiCheck(idArray) { //var idArray = document.getElementsByName(boxName); var count = 0; for(i=0;i<idArray.length;i++) { if(idArray[i].checked) { count++; } } return count; } //回车切换焦点 function toNext(next) { if(event.keyCode==13) { next.focus(); } } //打开右键菜单 function openShortCutMenu(oRow) { // 选中当前行 SelectRow(oRow); aOpenPopMenu("ShortCutMenu"); event.cancelBubble = true; event.returnValue = false; } //关闭右键菜单 function CloseShortCutMenu(){ aClosePopMenu("ShortCutMenu"); } //显示右键菜单 function aOpenPopMenu(MenuId){ if (document.all(MenuId)){ document.all(MenuId).style.left = event.clientX + document.body.scrollLeft; document.all(MenuId).style.top = event.clientY + document.body.scrollTop; document.all(MenuId).style.display = ""; } } //隐藏右键菜单 function aClosePopMenu(MenuId){ if (document.all(MenuId)){ document.all(MenuId).style.display = "none"; } }
学生信息管理主页studentInfo.html
<html> <head> <title>学生信息</title> <script type="text/javascript" src="util.js"></script> <script> //显示更新学生信息模态窗体 function showDialog() { var result = window.showModalDialog("dialog.html",null,"dialogWidth=400px;dialogHeight=400px;"); if(result&&result.length!=0&&result[0]!="") { addRow(result); } } //添加一行学生信息 function addRow(result) { var doc = window.listFrame.document;//内嵌框架的document对象 var tb = doc.getElementById("stuTable");//学生信息表格 var tbody = doc.getElementById("mytbody"); //创建新的行 var tr = doc.createElement("<tr onClick='SelectRow(this)' ondblclick='update();' oncontextmenu='openShortCutMenu(this)' title='右键修改'>"); //创建行的第一个单元格中的多选框 var check = document.createElement("<input name='idArray' type='checkbox'>"); var td = document.createElement("td"); td.appendChild(check); tr.appendChild(td); //将模式窗体传过来的值添加到新行中 for(i=0;i<result.length;i++) { var td = document.createElement("td"); td.appendChild(document.createTextNode(result[i])); tr.appendChild(td); } tbody.appendChild(tr); } //删除学生信息 function delStudent() { var checks = window.listFrame.document.getElementsByName("idArray"); var count = multiCheck(checks); if(count==0) {alert("未选中任何选项!"); return;} if(window.confirm("确定要删除这"+count+"条信息吗?")) { while(count>0) { var tb = window.listFrame.document.getElementById("stuTable"); var checks = window.listFrame.document.getElementsByName("idArray"); for(i=0;i<checks.length;i++) { if(checks[i].checked) { tb.deleteRow(checks[i].parentElement.parentElement.rowIndex); count--; break; } } } } } //修改学生信息 function update()