`
fly533
  • 浏览: 109625 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

js添加行删除行,遍历table

阅读更多
//需求:js实现多条记录的更新
//1、从页面的表格A中,选择商品添加到表格B中,
//2、表格B中,对应每条商品,输入数量。
//3、表格B中的商品不能重复,可以删除。
//4、能同时传入后台,更新到数据库
//5、或传入其他页面,并显示出来。
//js通过添加表的一行,删除一行。遍历表结构等方法实现
//可修改为其他功能:
//多条记录同时修改并且更新到数据库

<html>
<script language="JavaScript">
var i=0;//行的id 
var num;
var tdname;
var unit; 
var list= new Array(); 
var numList=new Array();
var flag=true;

function addRow(){//添加行
 var table=document.getElementById("table");
 var length=table.rows.length; 
 var tr=document.createElement("tr"); 
 tr.id=++i;
  
 var td0=document.createElement("td");
 td0.innerHTML="<input type=\"text\" value=\""+num+"\"/>";//不用文本框下面取不出来。 (因遍历的方式需要不带文本框)
 tr.appendChild(td0); 
 
 var td1=document.createElement("td");
 tdname="第"+i+"行 "+tdname;
 td1.innerHTML="<input type=\"text\" value=\""+tdname+"\" name=\"name\" id=\"name\"/>";
 tr.appendChild(td1);
     
	var td2=document.createElement("td");
	td2.innerHTML="<input type=\"text\" value=\""+unit+"\" name=\"unit\"/>";   
	tr.appendChild(td2);
	 
	var td3=document.createElement("td"); 
	//td3.id=tr.id; 
	td3.innerHTML="<input type=\"button\" value=\"del\" onclick=\"del(this.parentElement.parentElement,this.parentElement.parentElement.id)\"/>";   
	tr.appendChild(td3);   
	
	addData(i);//含数据验证 
	if(flag==true){ 
	document.getElementById("newbody").appendChild (tr); 
	}else{ 
	i--; 
	} 
} 

function del(src,index){ 
	var tr=document.getElementById(index); 
	tr.parentNode.removeChild(tr); 
	delData(index); 
} 

function addData(rid){ 
	flag=true; 
	for(var i=0;i<=numList.length;i++){
		if(num==numList[i]){ 
			flag=false; 
 			alert("该名称您已经添加!请查看已添加的列表。"); 
 		} 
 	} 
	if(flag==true){ 
 		numList[numList.length]=num; 
 		var str="{"+num+","+tdname+","+unit+"}"; 
 		list[rid]=str; 
 	} 
 }
  
function delData(rid){ list[rid]=""; }

function getList(){ 
	var jsonStr="{check:["; 
	var showStr="{ID&nbsp;&nbsp;&nbsp;&nbsp;名称&nbsp;&nbsp;&nbsp;&nbsp;单位}<br>" 
	var s=""; 
	for(var i=0;i<=list.length;i++){ 
		s=list[i]; 
		if(s!=""){ 
			if(s!=undefined){ 
				jsonStr+=list[i]+","; 
				showStr+=list[i]+"<br>"; 
			} 
		} 
	} 
	jsonStr=jsonStr.substring(0,jsonStr.length-1);
	jsonStr+="]}"; 
	//alert("结果:"+jsonStr); 
	var contain=document.getElementById("div1"); 
	contain.innerHTML=jsonStr+"<br>"+showStr; 
}

function getTable(){ 
	var tableObj = document.getElementById("table"); 
	//alert(tableObj.rows.length+"/"+tableObj.rows[0].cells.length+"/"+tableObj.rows[0].cells[0].children.length); 
	//alert(tableObj.rows[1].cells[0].children[0].value); 
	var str = "<table border=\"1\"><tr><td>ID</td><td>名称</td><td>单位</td></tr>"; 
	for(var i=0;i<tableObj.rows.length;i++){//行 
		str+="<tr>"; 
		for(var j=0;j<tableObj.rows[i].cells.length-1;j++){//列 
			for(var z=0;z<tableObj.rows[i].cells[j].children.length;z++){ 
				var text = tableObj.rows[i].cells[j].children[z];//取得text object 
				str +="<td>"+text.value+"</td>"; 
			} 
		} str+="</tr>"; 
	} 
	str+="</table>"; 
	//alert(str); 
	var contain=document.getElementById("div2"); 
	contain.innerHTML=str; 
	
	// var ob=document.getElementById("tb2").getElementsByTagName("input"); 
	// for(var j=0;j<ob.length;j++) 
	// { 
	// if(ob[j].type=="text") 
	// { 
	// jx+=j; 
	// } 
	//} 
}



function set(){ //该方法有问题。 
	var a=""; 
	//alert(document.getElementById(name)); 
	alert(document.find.name.length); 
	for(var i=0;i<document.find.name.length;i++){ 
		a+=document.find.name[i].value; 
		a=a+":"+document.find.unit[i].value+"/"; 
	} 
	//window.opener.document.getElementById("unit").value=uu; 
	alert("打印结果:"+a); 
	//window.close(); 
}
</script>
<BODY> 
<form method="post" action="" name="find"> 
	<table id="table" border="1"> 
	<tr><td>ID</td><td>名称</td><td>单位</td> <td>删除</td> </tr>
 	<tbody id="newbody"></tbody>
	</table>
</form> 

<input type="button" onClick="getList()" value="getList"/> 
<input type="button" onClick="getTable()" value="getTable"/>
<div id="div1"></div>
<div id="div2"></div>
  
<table border="1" id="t1"> 
	<tr > <td>数据项</td> </tr> 
	<tr onMouseDown=" 
		num=this.cells.item(0).innerHTML; 
		tdname=this.cells.item(1).innerHTML; 
		unit=this.cells.item(2).innerHTML;" >
 <td>1</td><td>name1</td><td>unit1</td> 
 <td><input type="button" onClick="addRow()" value="addRow"/></td> </tr> 
	<tr onMouseDown=" 
		num=this.cells.item(0).innerHTML; 
 		tdname=this.cells.item(1).innerHTML; 
 		unit=this.cells.item(2).innerHTML;" > 
 <td>2</td><td>name2</td><td>unit2</td> 
 <td><input type="button" onClick="addRow()" value="addRow"/></td> </tr>
</table>
</BODY>
</html>
分享到:
评论

相关推荐

    table JS 添加行和删除行

    实际应用中,你可能需要根据具体的业务逻辑调整这些示例,比如通过循环遍历所有行,或者根据特定条件(如用户点击某行的删除按钮)来添加或删除行。在`删除行.html`和`添加行.html`文件中,你应该能找到更详细的实现...

    利用jquery给指定的table动态添加一行、删除一行的方法

    这篇文章主要介绍了如何使用jQuery在指定的HTML表格(table)中动态地添加和删除行。jQuery是一种广泛使用的JavaScript库,它简化了DOM操作,包括在表格中动态修改内容。 首先,我们要理解HTML表格的基本结构,一个...

    jquery table 添加、删除行、列 utf-8

    本文将详细介绍如何使用 jQuery 实现表格的添加、删除行与列的操作。 ### 1. 添加行 添加行通常涉及到在 `&lt;tbody&gt;` 标签内插入新的 `&lt;tr&gt;` 元素。可以使用 jQuery 的 `append()` 方法来完成: ```javascript // ...

    jquery table 添加、删除行、列

    这里可以遍历每一行,然后向每行的末尾添加新的`&lt;td&gt;`: ```javascript var newColumn = '&lt;td&gt;New Column Data&lt;/td&gt;'; $('#myTable tr').each(function() { $(this).append(newColumn); }); ``` 这段代码将一个新...

    JS 添加删除行

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

    vuejs element table 表格添加行,修改,单独删除行,批量删除行操作

    Element UI是一个基于Vue 2.0的组件库,提供了丰富的UI组件,其中包括表格(Table)组件,非常适合用于实现复杂的表格操作,如添加、修改、单独删除以及批量删除行。本文将详细介绍如何在Element UI的表格组件中实现...

    js Table相同行合并,数量汇总

    "js Table相同行合并,数量汇总"这个主题涉及到的是如何利用JavaScript来合并HTML表格中具有相同内容的行,并对这些行进行数量上的汇总。这在展示分类数据或统计信息时非常实用,可以有效地减少重复信息,使表格更加...

    JavaScript动态操作表格,添加,删除行、列及单元格

    在本文中,我们将深入探讨如何使用JavaScript来动态地操作表格,包括添加、删除行、列以及单元格。这将帮助开发者在不刷新页面的情况下,实现灵活的数据管理功能。 1. **创建表格** 在HTML中,我们可以使用`&lt;table...

    jQuery 动态添加或删除表格行

    删除表格行则可以通过遍历表格中的行并根据需要移除它们来实现。以下是一个删除所有行的例子: ```javascript $('#deleteRows').click(function() { $('#dynamicTable tbody tr').remove(); }); ``` 在这个代码...

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

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

    js动态创建table点击按钮dom table tr添加操作

    本主题主要聚焦于如何利用JavaScript动态创建一个包含表格(table)的DOM结构,并且在表格行(tr)中添加可点击的按钮。这通常用于展示数据集,允许用户进行交互操作,比如删除、编辑或查看详情。 首先,我们需要...

    74、jquery表格动态添加删除行代码

    &lt;title&gt;jQuery动态添加删除行 &lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"&gt; &lt;table id="myTable"&gt; 姓名 年龄 操作 张三 &lt;td&gt;25 &lt;td&gt;&lt;button class="delete"&gt;删除&lt;/button&gt;&lt;/...

    JS与jQuery遍历Table所有单元格内容的方法

    在JavaScript和jQuery中遍历Table的所有单元格内容是常见的任务,尤其在处理表格数据时非常有用。下面将详细讲解这两种方法。 首先,我们来看纯JavaScript的实现方式: ```javascript function GetInfoFromTable...

    js动态添加表格逐行添加、删除、遍历取值的实例代码

    在处理Web前端交互时,经常会遇到需要动态地对表格进行操作的场景,如动态添加表格行、删除表格行、遍历表格取值等。本文将详细阐述如何使用JavaScript来实现这些功能,并给出具体的代码示例。 ### 动态添加表格行 ...

    JS动态增加删除表格行

    在JavaScript(JS)编程中,动态管理HTML元素是常见的需求,特别是对于表格(Table)这样的数据展示组件。本文将深入探讨如何使用JavaScript动态地增加和删除表格行。 首先,我们来了解一下HTML表格的基本结构。一...

    Layui表格添加行删除保存代码.zip

    本压缩包"layui表格添加行删除保存代码.zip"就是针对这种需求的一个实例,主要展示了如何使用Layui实现表格数据的动态添加、删除和保存功能。下面将详细解释这些功能的实现原理和步骤。 首先,"说明.htm"文件通常会...

    js实现table添加行tr、删除行tr、清空行tr的简单实例

    本实例主要展示了如何使用JavaScript来实现对表格(`&lt;table&gt;`)中的行(`&lt;tr&gt;`)进行添加、删除和清空的操作。我们将深入探讨这些功能的实现细节。 1. **添加行(`&lt;tr&gt;`)** 添加行的功能通过`insertRow()`方法...

    js动态操作table实例

    本文将深入探讨如何使用JavaScript实现对表格的动态添加、删除、修改和查询功能,结合给出的标签“源码”和“工具”,我们将以一个实际的示例来解析这一过程。 首先,我们需要理解HTML中的`&lt;table&gt;`元素结构。一个...

    javascript完整操作Table的增加行,删除行的列子大全

    在JavaScript中,对HTML表格(`&lt;table&gt;`)进行操作是一项常见的任务,包括添加行、删除行等。这里我们将深入探讨这些操作,并提供相应的代码示例。 首先,我们需要理解HTML表格的基本结构。一个HTML表格由`&lt;table&gt;`...

    js动态添加删除表格

    在JavaScript(JS)中,动态添加和删除表格是常见的任务,尤其在开发交互式Web应用时。这涉及到了DOM(Document Object Model)操作,因为HTML表格实际上是由一系列DOM元素组成的。下面将详细介绍如何使用JavaScript...

Global site tag (gtag.js) - Google Analytics