- 浏览: 361247 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
willsonbin:
赞~实用
表格行记录动态增加和删除 -
ljj1160347188:
/偷笑 楼主 你欺负我们这些新学的么
java的转义字符 -
zx5191:
啥jb玩意啊
java的转义字符 -
hyde12:
楼主要严谨点
java的转义字符 -
iteeye:
楼主要严谨点
java的转义字符
- 应用实例1
原版页面增加注释.htm:
可以批量删除表格记录行,通过checkbox选择删除的行;可以批量增加记录行,通过输入框指定行数。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift-js"> <title>The page of append rows to Table</title>
<script language="JavaScript"> // 新增行 function addRow(){ var textNum = document.getElementById("rownum"); // 得到新增行记录的行数 var index = textNum.value; if(!checknum(index)){ alert("You can only input number in the TEXT!"); textNum.focus(); textNum.select(); } for(var i = 0; i < index; i++){ // 得到表格对象 var tableObj = document.getElementById("mainTb"); // 得到tbody对象 var tableBodyObj = document.getElementById("mainBody"); var newRowObj = document.createElement("tr"); var newCheckBox = document.createElement("td"); var newtext1 = document.createElement("td"); var newtext2 = document.createElement("td"); var newtext3 = document.createElement("td"); newCheckBox.innerHTML = '<center><input type="Checkbox" name="checkbox" onclick = "checkBoxSel()"></center>'; newtext1.innerHTML = '<input type="text" name="newCarName" size="9">'; newtext2.innerHTML = '<input type="text" name="newCarName" size="9">'; newtext3.innerHTML = '<input type="text" name="newCarName" size="9">'; // 新增的tr节点下增加td节点 newRowObj.appendChild(newCheckBox); newRowObj.appendChild(newtext1); newRowObj.appendChild(newtext2); newRowObj.appendChild(newtext3); // tbody节点下增加tr节点 tableBodyObj.appendChild(newRowObj); } } // 新增行数选择框检查输入必须是数字 function checknum(strVal){ if (strVal.length != 0){ var r = strVal.match(new RegExp(/^[0-9]+$/)); if (r == null){ return false; }else{ return true; } } return true; } // 批量删除指定的行 function deleteRow(){ var Tblen; // 得到所有 checkbox 对象 var checkbox = document.getElementsByName("checkbox"); //var checkboxlen = document.all.checkbox.length; // 得到所有提交的checkbox个数 var checkboxlen = checkbox.length; var ischecked; // 得到删除按钮对象 var delbutton = document.getElementById("delete"); for (var i=0; i < checkboxlen; i++){ // 得到表格行数 Tblen = this.mainTb.rows.length; // 最终保留一行记录 if (Tblen == 1) { document.getElementsByName("checkbox")[0].checked = false; alert("A line have to be saved in the ID of mainTb!"); // 删除按钮不可用 delbutton.disabled = true; return false; } ischecked = checkbox[i].checked; // 如果当前的checkbox选中:删除当前节点,由于删除节点后,下面的节点上移,游标(记录行指针)也应该上移 if (ischecked) { // document.all("mainTb").deleteRow(i); document.getElementById("mainTb").deleteRow(i); // 游标(记录行指针)上移 i--; } // 重新统计checkbox个数 checkboxlen = checkbox.length; } // 删除操作后按钮状态是不可用 delbutton.disabled = true; } // checkbox按钮单击事件处理函数:是否至少选中一行记录,是可以删除操作;如果没有选择,删除按钮不可用 function checkBoxSel(){ // 得到删除按钮对象 var delbutton = document.getElementById("delete"); if(checkselect()){ delbutton.disabled = false; }else{ delbutton.disabled = true; } } function checkselect(){ // 得到所有 checkbox 对象 var checkbox = document.getElementsByName("checkbox"); // 得到所有提交的checkbox个数 var chklength = checkbox.length; var flag = false; for(var i = 0; i < chklength; i++) { if(checkbox[i].checked == true) { flag = true; break; } } if(flag == true) { return true; } else { return false; } } // 页面加载body内容时执行 function loadpage(){ var delbutton = document.getElementById("delete"); var rownum = document.getElementById("rownum"); // 初始“删除”按钮不可用 delbutton.disabled = true; // 初始行数输入框内容为空 rownum.value = ""; } </script>
</head> <body style="margin:40px" onload="loadpage()"> <h2>动态表格</h2><hr><br> <table id="inputTb" border="1" bordercolor="#4682B4" cellspacing="0" align="right"> <tr> <td> 新增行数: <input type="text" name="rownum" id="rownum" size="2" maxlength="2" > </td> </tr> <tr> <td> <input type="button" value="增加" onclick="addRow()"> </td> </tr> <tr> <td> <input type="button" value="删除" id="delete" onclick="deleteRow()" disabled="true"> </td> </tr> </table> <table id="mainTb" border="1" bordercolor="#4682B4" cellspacing="0" > <tbody id="mainBody"> <tr id="rownumber0"> <td align="center"> <input type="Checkbox" name="checkbox" onclick="checkBoxSel()"> </td> <td> <input type="text" name="newCarName" size="9"> </td> <td> <input type="text" name="newCarName" size="9"> </td> <td> <input type="text" name="newCarName" size="9"> </td> </tr> <tr id="rownumber1"> <td align="center"> <input type="Checkbox" name="checkbox" onclick="checkBoxSel()"> </td> <td> <input type="text" name="newCarName" size="9"> </td> <td> <input type="text" name="newCarName" size="9"> </td> <td> <input type="text" name="newCarName" size="9"> </td> </tr> </tbody> </table> </body> </html>
- 应用实例2
addLine.htm
删除单行表格记录。
<script language="javascript"> var i=1; function insertStr() { i++; var td = document.createElement("td"); var tr = document.createElement("tr"); var tbody = document.createElement("tbody"); tr.appendChild(td); tbody.appendChild(tr); var parNode = document.getElementById("table1"); parNode.appendChild(tbody); tr.setAttribute("name","tr"+i); tr.setAttribute("id","tr"+i); td.innerHTML="<input type='text' name='Tag"+i+"' id='Tag"+i+"' value='Tag"+i+"'><input type='button' value='Delete' name='Delete"+i+"' id='Delete"+i+"' onClick='javascript:DeleteNode("+i+")'>"; document.form1.total.value=i; } function DeleteNode(j){ var trnode=document.getElementById("tr"+j); trnode.parentNode.removeChild(trnode); } </script>
<form name="form1" method="post" action=""> <input name="tag1" type="text" id="tag1" value="Tag1"> <input name="insert" type="button" id="insert" value="Add a Tag" onClick="insertStr()"> <input type="hidden" name="total" id="total"> </form> <table width="400" border="1" cellspacing="0" cellpadding="0" id="table1"></table>
- 应用实例3
动态添加、删除行,分别通过insertRow,deleteRow方法实现,显示行号,通过rowIndex属性获得,基本可以动态实现相关功能。
<Script Language="Javascript"> var cGetRow=-99999; var lineNo = 1; function _(id) { return document.getElementById(id); } // The index of the row to be deleted. // This index starts from 0 and is relative to the logical order (not document order) // of all the rows contained inside the table. // If the index is -1 the last row in the table is deleted. function AddRow(){ //添加一行 var newTr = _("tab1").insertRow(); //添加两列 var newTd0 = newTr.insertCell(); var newTd1 = newTr.insertCell(); //设置列内容和属性 newTd0.innerHTML = '<input type=checkbox id="box' + lineNo + '" onClick="GetRow()">'; // 测试动态改变innerHTML中的checkbox的id alert(_("box" + lineNo).id); newTd1.innerText= '新增加行' + lineNo; lineNo++; } function DelRow(iIndex){ //删除一行 if(iIndex==-99999){ alert("系统提示:没有选中行号!"); }else{ iIndex = cGetRow; _("tab1").deleteRow(iIndex); } } function GetRow(){ //获得行索引 //两个parentElement分别是TD和TR哟,rowIndex是TR的属性 //this.parentElement.parentElement.rowIndex cGetRow=window.event.srcElement.parentElement.parentElement.rowIndex; } function ShowRow(){ //显示行号 alert(cGetRow); //alert(document.getElementsByTagName("tr").length); } </script>
<table id="tab1" border=1> <tr id="tr1"> <td width=6%><input type=checkbox id="box1" onClick="GetRow()"></td> <td id="a">第一行</td> </tr> <tr id="tr2"> <td width=6%><input type=checkbox id="box2" onClick="GetRow()"></td> <td id="b">第二行</td> </tr> <tr id="tr3"> <td width=6%><input type=checkbox id="box3" onClick="GetRow()"></td> <td id="c">第三行</td> </tr> </table> <table id="tab1" border=1> <tr id="tr1"> <td width=6%><input type=checkbox id="box1" onClick="GetRow()"></td> <td id="a">统计</td> </tr> </table> <input type="submit" name="Submit" value="AddRow" onclick="javascript:AddRow();"> <input type="submit" name="Submit" value="DelRow" onclick="javascript:DelRow(cGetRow);"> <input type="submit" name="Submit" value="ShowRow" onclick="javascript:ShowRow();">
- 表格动态增加行.rar (5.8 KB)
- 下载次数: 158
评论
5 楼
willsonbin
2014-08-15
赞~实用
4 楼
fantasyyong
2008-02-29
另外要注意的是:表格一般有标题行
// 表格有2行标题 var titleLine = 2; for (var i=0; i < checkboxlen; i++){ // 计算行记录数时除去title行 tablen = this.detailTable.rows.length - titleLine; if(tablen == 1){ checkboxList[0].checked = false; delbutton.disabled = true; allSelect.checked = false; return false; } isChecked = checkboxList[i].checked; if(isChecked){ // 游标(记录行指针)下移2行 document.getElementById("detailTable").deleteRow(i + titleLine); i--; } checkboxlen = checkboxList.length; }
3 楼
fantasyyong
2008-02-29
example01代码中有alert测试语句,其实这个实例中只是实现了一次删除一行的操作。其实重要的是这个功能的实现原理,代码理清后大家完全可以根据实际需求修改。原版页面增加注释.htm这个页面实现了批量的新增和删除行功能,希望大家共同学习,谢谢。
2 楼
j2sej2ee
2008-02-29
example01里面有问题
1 楼
j2sej2ee
2008-02-29
自己都不测试就往上贴,有错误
发表评论
-
jQuery学习资料
2008-04-01 22:48 2271jQuery学习资料 -
checkbox全选功能
2008-02-29 11:47 2463checkbox全选功能实例: <script ... -
Javascript显示当前日期
2008-02-28 16:43 17548Date(日期)对象可以使用Date()构造器来创建。 首先 ... -
window.open()方法使用
2008-02-28 11:56 1790window.open()支持环境: JavaScript1 ... -
confirm用法和例子
2008-02-27 10:51 18857一般用于弹出对话框(确定/否) 确定:就执行其嵌套的内容;否 ... -
showModalDialog()、showModelessDialog()方法使用详解
2008-02-26 10:02 1222Javascript有许多内建的方 ... -
window.open参数详解
2008-02-25 18:58 88381. 使用举例: <SCRIPT LANGUAGE= ... -
JavaScript日期控件02(日期选择器)
2008-02-22 00:23 2154JSCalendar1.0 应该说是现在最全,最方便的日 ... -
JavaScript日期控件01(日期选择器)
2008-02-21 23:32 7203PopupCalendar.htm页面显示 ... -
下拉框——Dynamic options
2008-02-18 15:49 1161这是一个简单的使用实例: <form name=&qu ... -
document.write方法
2008-02-18 15:09 3853一个最基本的JavaScript命令是document.wri ... -
JavaScript split() 方法
2008-02-18 14:57 1877Definition and Usage——定义与用法 Th ...
相关推荐
本资源“Layui表格行添加编辑删除操作和保存数据代码.zip”包含了一个完整的示例,演示了如何在Layui表格中实现动态的行添加、编辑和删除功能,并且将这些操作与数据保存相结合。下面我们将详细探讨这些知识点。 ...
动态添加js,动态添加表格和删除表格,批量添加记录,批量添加
### 动态插入、添加删除表格行的JS代码 在网页开发中,表格是一个非常重要的元素,用于展示数据。为了使网页更具交互性,我们常常需要动态地对表格进行操作,比如插入或删除行等。本文将通过一个具体的示例来讲解...
"表格删除线"就是这样一个功能,它允许用户在表格中添加删除线,以视觉上标识出已被删除但尚未实际移除的数据行。这样的功能对于版本控制或者协作编辑场景特别有用,因为它提供了明确的修改记录。 首先,让我们来...
在Web前端开发中,动态地添加和删除页面元素是一种常见的交互方式,尤其在表单设计中,这种功能的实现能够极大地提升用户体验。使用jQuery库可以方便地实现这些功能,因为它提供了丰富的选择器和方法来操作DOM元素。...
4. **合并单元格**:这通常涉及到修改DOM结构,例如,将当前行的某些单元格内容添加到前一行的对应单元格中,然后删除当前行。 5. **处理特殊情况**:在合并过程中,需要考虑边界条件,比如第一行不能与前一行比较...
在JavaScript编程中,动态添加表格数据行是一种常见的需求,特别是在构建交互式的Web应用程序时。这个功能允许用户在不刷新整个页面的情况下添加新的记录,提高了用户体验。在这个例子中,我们将探讨如何利用...
本话题主要探讨如何利用原生JavaScript和DOM来实现数据表格中的动态增删查改功能,这对于前端开发来说是一项基本且重要的技能。 1. **创建数据表格** - 使用`<table>`元素创建表格结构,包括`<thead>`定义表头,`...
在ASP.NET中,动态删除表格记录的数据显示是一个常见的需求,特别是在构建数据驱动的Web应用程序时。这个过程涉及到前端用户界面的交互以及后端数据库的管理。以下是对这一知识点的详细阐述: 1. **HTML和ASP.NET...
下面详细阐述了如何使用JQuery来动态地添加和删除表格中的行。 1. 动态添加表格行的基本思路 在进行动态添加行操作时,我们通常先准备一个表格行的模板。这个模板是一个隐藏的元素,它具有所需的所有单元格元素,...
- 增加行通常涉及向表格数据数组中添加新对象,然后重新渲染表格。Vue 的数组变更检测可以处理这种情况,只要数组的方法(如 `push`、`splice`)被正确使用。 - 删除行则需要移除数组中的某个对象,同样触发视图...
本篇文章将深入探讨如何在GridView中实现动态添加和删除行,以及如何在用户保存时批量保存数据。 ### GridView简介 GridView是ASP.NET中的一个服务器控件,用于显示来自数据源(如数据库、XML或数组)的数据。默认...
这种动态操作表格行的方法在Web应用中十分实用,例如在管理界面中,用户可以方便地添加或删除记录。同时,这种方法也适用于任何需要动态调整表格内容的场景,只需根据实际情况修改表格结构和数据即可。通过学习和...
总结,动态建立`TabWidget`表格,自定义`Combox`和`spinBox`,并实现添加删除功能是QT编程中的一种高级技巧,它结合了UI设计、数据管理以及用户交互。通过学习和实践这个示例,开发者可以提高其在QT平台上的应用开发...
在C#编程中,删除表格中的指定记录是一个常见...总之,C#提供了多种方式来删除表格中的指定记录,包括传统的ADO.NET和现代的ORM框架如Entity Framework。理解并熟练掌握这些方法,将有助于你更好地处理数据库操作任务。
"C# 读写、删除、更新Excel表格记录" 通过本文,我们将学习如何使用 C# 语言来读写、删除、更新 Excel 表格记录。我们将使用 OleDb 连接Excel 文件,并使用 Microsoft.Office.Interop.Excel 名字空间来实现删除记录...
本项目“jQuery自定义添加删除表格行内容特效”是基于jQuery实现的一种交互式功能,它允许用户动态地在表格中添加和删除行,大大提升了用户体验。下面将详细介绍这一功能的实现原理和关键代码。 首先,我们需要理解...