我写的一段JS实现TABLE统计功能的代码(未兼容昨天那段代码的JS功能)

简介:

效果图:


代码:

<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript">
function AddRecord()   
{   
  var  row  =  tlist.insertRow(tlist.rows.length-2);  
  row.className='tit3';  
  var  i  =  row.rowIndex;   
  var  col  =  row.insertCell(0);     
  col.innerHTML  =  " <input type='text' name='Option' size=12 maxlength=12>";     
  col  =  row.insertCell(1);     
  col.innerHTML  =  " <input type='text' name='Serial' size=32 maxlength=100>";     
  col  =  row.insertCell(2);     
  col.innerHTML  =  " <input type='text' name='Number' size=7 maxlength=7 >";     
  col  =  row.insertCell(3);     
  col.innerHTML  =  " <input type='text' name='LName' size=6 maxlength=6 >";     
  col  =  row.insertCell(4);     
  col.innerHTML  =  " <input type='text' name='Position' size=4 maxlength=4>";     
  col  =  row.insertCell(5);     
  col.innerHTML  =  " <input type='text' name='Amount' size=4 maxlength=4 value='0' onchange='chtotal(this);'>";  
  col  =  row.insertCell(6);     
  col.innerHTML  =  " <input type='text' name='Price' size=4 maxlength=4 value='0' onchange='chtotal(this);'>";    
  col  =  row.insertCell(7);     
  col.innerHTML  =  " <input type='text' name='Total' size=8 readonly value='0'>";     
  col  =  row.insertCell(8);     
  col.innerHTML  =  " <input type='text' name='fremarks' size=20 maxlength=100>";  
  col  =  row.insertCell(9);     
  col.innerHTML  =  " <input type='button' value='删除' name='del' onclick='delrecord(this);'>";   
}  

function chtotal(e)  
{ 

var obj=e.parentNode.parentNode;  
var id=parseInt(obj.rowIndex)-1; 
var Amount=document.getElementsByName("Amount")[id];  
var Price=document.getElementsByName("Price")[id];  
var Total=document.getElementsByName("Total")[id];  
var delbutton=document.getElementsByName("del");  
var znum= document.getElementById("znum");  
var newzum=0;  
Total.value = Amount.value * Price.value;  
for(var j=0;j <delbutton.length;j++)  
{  
  newzum+=parseFloat(document.getElementsByName("Total")[j].value);  
}  
znum.innerHTML =newzum; 

var znum= document.getElementById("zamount");  
var newamount=0
for(var k=0;k <delbutton.length;k++)  
{  
  newamount+=parseFloat(document.getElementsByName("Amount")[k].value);  
}  
zamount.innerHTML =newamount; 

} 

function delrecord(obj)  
{  
  obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);  
  var delbutton=document.getElementsByName("del");  
  var newzum=0;  
  for(var j=0;j <delbutton.length;j++)  
  {  
  newzum+=parseFloat(document.getElementsByName("Total")[j].value);  
  }  
  znum.innerHTML =newzum;  
  
    var newamount=0;  
  for(var k=0;k <delbutton.length;k++)  
  {  
  newamount+=parseFloat(document.getElementsByName("Amount")[k].value);  
  }  
  zamount.innerHTML =newamount;  
  
}  
</script>
</head>
<body>
<div id="d1">
<input type="button"  value="创建" onclick="addTable()">
<input type="button"  value="添加" onclick="AddRecord()">
<input type="button"  value="删除" onclick="deleteRow()">
<input type="button"  value="保存" onclick="saveTable()">
<input type="button"  value="编辑" onclick="editTable()">
<input type="button"  value="复制">
</div>

<div id="d2">
<table width="760" border="0" cellspacing="1" cellpadding="0" class="tb" id="tlist">  
    <tr class="tit2">  
    <td>选项</td> <td>序号 </td> <td>编号 </td><td>名称 </td><td>位置 </td><td>数量 </td> <td>单价 </td> <td>价格 </td><td>操作 </td>  
    </tr>  
    <tr class="tit3">  
    <td><input type="text" name="Option" size=12 maxlength=12> </td>  
    <td><input type="text" name="Serial" size=32> </td>  
    <td><input type="text" name="Number" size=7 maxlength=7 > </td>  
    <td><input type="text" name="LName" size=6 maxlength=6 > </td>  
    <td><input type="text" name="Position" size=4 maxlength=4> </td>  
    <td><input type="text" name="Amount" size=4 maxlength=4 value='0' onchange='chtotal(this);'> </td>     
	<td><input type="text" name="Price" size=4 maxlength=4 value='0' onchange='chtotal(this);'> </td>     
    <td><input type="text" name="Total" size=8 readonly value='0'> </td>  
    <td><input type="text" name="fremarks" size=20 maxlength=100> </td>  
    <td><input type="button" value="删除" name='del' onclick="delrecord(this);"> </td>  
    </tr>  
    <tr class="tit3"> 
	<td>统计栏 </td> 
	<td colspan=4> </td> 
	<td colspan=2 align='left'> <b id="zamount">0 </b> </td> 
	<td colspan=1 align='left'> <b id="znum">0 </b> </td> 
	<td colspan=2> </td> 
	</tr>  
    
	<tr class="tit2">  
    </tr>  
    </table> 
</div>


</body>
</html>






目录
相关文章
|
30天前
|
JavaScript 前端开发 测试技术
在 golang 中执行 javascript 代码的方案详解
本文介绍了在 Golang 中执行 JavaScript 代码的四种方法:使用 `otto` 和 `goja` 嵌入式 JavaScript 引擎、通过 `os/exec` 调用 Node.js 外部进程以及使用 WebView 嵌入浏览器。每种方法都有其适用场景,如嵌入简单脚本、运行复杂 Node.js 脚本或在桌面应用中显示 Web 内容。
73 15
在 golang 中执行 javascript 代码的方案详解
|
13天前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
2月前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
48 3
|
2月前
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
42 5
|
2月前
|
JavaScript
js实现简洁实用的网页计算器功能源码
这是一款使用js实现简洁实用的网页计算器功能源码。可实现比较基本的加减乘除四则运算功能,界面简洁实用,是一款比较基本的js运算功能源码。该源码可兼容目前最新的各类主流浏览器。
28 2
|
2月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
2月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
219 1
|
Web App开发 JavaScript 前端开发
|
2月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
35 1
JavaScript中的原型 保姆级文章一文搞懂