`
Ben.Sin
  • 浏览: 234202 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JS动态增加删除行

阅读更多
利用html的特性实现动态增加删除行,一下是JS函数代码。

        // 用于增加行的时候参照隐藏的row
        function addRow2(tbodyName, hiddenTbodyName){
// Get the tbody
var orgBody = document.getElementById(tbodyName);
var recordRowCount=orgBody.rows.length;
var hiddenBody = document.getElementById(hiddenTbodyName)
//var firstRow = orgBody.rows[0];
var firstRow = hiddenBody.rows[0];
var newRow = firstRow.cloneNode(true);

// Call function to general the new ID
var newID = shiftID(firstRow.id, orgBody.rows.length + 1)
// Set the row's ID
newRow.id = newID;
  
// add the new row
orgBody.appendChild(newRow);
  
// Reset the item status
resetRow(newRow);

// Reset the item number for this page only
resetItemNum(orgBody);
}
        // 参照第一行来增加
function addRow(tbodyName){
// Get the tbody
var orgBody = document.getElementById(tbodyName);
var recordRowCount=orgBody.rows.length;
var firstRow = orgBody.rows[0];
var newRow = firstRow.cloneNode(true);

// Call function to general the new ID
var newID = shiftID(firstRow.id, orgBody.rows.length + 1)
// Set the row's ID
newRow.id = newID;
  
// add the new row
orgBody.appendChild(newRow);
  
// Reset the item status
resetRow(newRow);

// Reset the item number for this page only
resetItemNum(orgBody);
}

// Reset the input field value
function resetRow(obj){
var items = obj.childNodes;
//alert(items.length);
for (var m = 0; m < items.length; m ++){
// loop the elements of object
if (items[m].childNodes.length > 0){
resetRow(items[m]);
}

if (items[m] != undefined && items[m].type != undefined){
if (items[m].type == "select-one"){
items[m].selectIndex = -1;
items[m].value="";
}else if (items[m].type == "radio"){
// pass
//items[m].id = shiftID(items[m].id, newIndex);
}else if (items[m].type == "text"){
// Empty input text
items[m].value = "";
}else if (items[m].type == "hidden"){
// Empty input text
items[m].value = "";
}else if (items[m].type == "checkbox"){
// Empty input text
items[m].checked = false;
}else{
break;
}
}
}
}

function resetItemNum(tbody){
var item
for (var i = 0; i < tbody.rows.length; i ++){
item = tbody.rows[i].cells[1];
item.innerHTML = (i + 1);
}
}

// General the new ID
function shiftID(oldID, rowNum){
var newNum = "0" + rowNum;
// Split the last two characters
newNum = newNum.slice(newNum.length - 2, newNum.length)
return oldID.slice(0, oldID.length - 2) + newNum;
}

// Delete the selected row
function deleteRow(bodyName){
var tbody = document.getElementById(bodyName);
if (tbody == null){
return;
}

// loop the rows
for (var i = tbody.rows.length - 1; i >= 0 ; i --){
// selected row
if (rowSelected(tbody.rows[i])){
// delete the selected row if it has more than one row
if (tbody.rows.length > 1){
// remove the selected row
tbody.removeChild(tbody.rows[i]);
}else{
// reset the last row
resetRow(tbody.rows[i]);
}
}
}

// reset the item number
resetItemNum(tbody);
}

// check the special row is selected
function rowSelected(row){
var firstCell = row.cells[0];
var child = null;
for (var i = 0; i < firstCell.childNodes.length; i ++){
child = firstCell.childNodes[i];
if (child.type != undefined && child.type.toString() == "checkbox"){
return firstCell.childNodes[i].checked;
}
}
return false;
}
  • test03.rar (1.7 KB)
  • 描述: 动态增加删除行简单例子
  • 下载次数: 197
分享到:
评论

相关推荐

    js动态添加 删除行

    js动态添加 删除行

    js 动态增加删除行hwh

    "JS添加删除DOM节点的方法_JS(Javascript)_紫苹果电脑网.mht"这个文件可能包含了更详细的操作实例和教程,建议参考学习以加深理解。通过熟练掌握这些技能,可以更有效地构建动态和交互性强的Web应用。

    JS动态增加删除表格行

    本文将深入探讨如何使用JavaScript动态地增加和删除表格行。 首先,我们来了解一下HTML表格的基本结构。一个表格由`&lt;table&gt;`元素包含,其中包含`&lt;tr&gt;`(表格行)元素,每行内可以有多个`&lt;td&gt;`(表格数据单元格)或`...

    js动态添加删除行,实用

    &lt;title&gt;JS 动态添加删除行 姓名 年龄 &lt;!-- 动态添加的数据行将放在这里 --&gt; ()"&gt;添加行 ()"&gt;删除选中行 function addRow() { var table = document.getElementById('myTable'); var ...

    javascript table 增加删除行,巧妙实现

    在JavaScript中,表格(Table)是网页数据展示的常用元素,而动态地增加或删除行则是常见的交互需求。本文将深入探讨如何巧妙地利用JavaScript来实现这个功能。 首先,我们需要了解HTML中的`&lt;table&gt;`元素及其相关...

    JavaScript动态添加删除表格行

    这篇博客"JavaScript动态添加删除表格行"可能详细讲解了如何使用JavaScript实现这一功能。通过给定的标签"源码"和"工具",我们可以推测这篇文章会包含实际的代码示例和实用方法。 在HTML中,`&lt;table&gt;`元素用于创建...

    js动态添加行和删除行

    在JavaScript中,动态添加行和删除行是网页交互中常见的需求,特别是在表格或者列表展示数据时。这通常涉及到DOM操作,包括元素的创建、插入和移除。以下是一些关于这个主题的重要知识点: 1. DOM操作: - `...

    JS动态添加删除HTML元素(实例)

    JS 动态添加删除 HTML 元素实例 动态添加删除 HTML 元素是前端开发中常见的需求之一,今天我们来探讨如何使用 JavaScript 实现动态添加删除 HTML 元素的实例。 首先,让我们了解一下 HTML 文档对象模型(DOM),它...

    js动态添加和删除行

    同样,你可以根据需求修改这个示例,比如添加删除行的功能,或者改变单元格的内容和行为。理解这些基本原理后,就能灵活应对各种复杂的交互需求了。在实际项目中,你可能会遇到性能优化、兼容性处理、错误处理等问题...

    动态添加/删除表格行并提交内容到后台

    在开发Web应用时,动态添加和删除表格行是常见的需求,尤其在数据管理或表单填写场景中。本文将深入探讨如何使用C#后端和JavaScript前端技术来实现这一功能,为初学者提供一个基础的实践指导。 首先,我们要了解...

    js实现添加删除一行。每一行下面可以再添加一行。序号自动改变

    在JavaScript编程中,实现...通过以上步骤,我们可以实现一个功能完备的表格动态添加删除行的JS特效,同时确保序号的自动更新和Tab切换效果。这样的功能在许多Web应用中都有广泛的应用,比如数据录入、配置管理等场景。

    JS动态增加和删除行

    通过JS实现了动态的增加一行或是删除一行,可以进行多行数据录入。

    js 操作表格动态添加和删除行

    js 操作表格动态添加和删除行

    js/Jquery/javascript动态添加删除行,统计计算总数.

    用Jquery 添加删除行, 并进行计算 品名 数量 单价 金额(计算得出) 添加(按钮) 品名 数量 单价 金额(计算得出) 删除(按钮) .... --- 总计:

    JS 添加删除行

    ### JS动态添加删除行知识点详解 #### 一、概述 在网页开发中,经常会遇到需要动态操作表格元素的情况,比如动态地添加或删除表格行。本文将基于给定的脚本代码来详细介绍如何使用JavaScript(简称JS)实现动态...

    Ajax动态表格,可适时添加行、删除行、复制行

    本话题将深入探讨如何实现一个动态表格,用户可以适时添加、删除和复制表格中的行。 首先,我们需要理解Ajax的工作原理。它通过JavaScript发送异步HTTP请求到服务器,获取或提交数据,然后使用JavaScript处理这些...

    js动态增加表格行

    js增加动态表格,点击增加就增加一行,点击删除就删除一行,每行前面有勾选框,可以勾选,删除多行

    jquery表格动态添加删除行代码.zip

    总的来说,"jquery表格动态添加删除行代码"是一个结合了HTML、CSS和JavaScript(主要是jQuery)的示例,它展示了如何利用这些技术来实现动态交互的表格功能。这样的功能在许多Web应用程序中都有广泛的应用,例如在线...

Global site tag (gtag.js) - Google Analytics