js GridView 实现自动计算操作代码


Posted in Javascript onMarch 25, 2009

注意下面的代码,需要加载jquery所以请大家自行到官方网站下载最新版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
<title>js操作GridView,实现自动计算</title> 
<style type="text/css"><!-- 
table,tr,td{text-align:center;} 
input{width:50px;text-align:center;} --></style><style type="text/css" bogus="1"> table,tr,td{text-align:center;} 
input{width:50px;text-align:center;} 
</style> 
<script type="text/javascript" src="http://img.3water.com/jslib/jquery/jquery-1.2.6.pack.js"></script> 
<script type="text/javascript"><!-- 
//全局 
var tbl; 
//改变总金额与总数量 
function setTotal(){ 
var totalAmount=0;//总金额 
var totalCount=0;//总数量 
if(tbl!=null&&tbl.rows.length>2)//表头占一行 
{ 
for(var n=1;n<tbl.rows.length-1;n++)//rows数组是从0开始,表足占一行 
{ 
//总数量 
if(!isNaN(tbl.rows[n].cells[2].childNodes[0].value)) 
{ 
totalCount+=Number(tbl.rows[n].cells[2].childNodes[0].value); 
} 
//总金额 
if(!isNaN(tbl.rows[n].cells[3].innerText))//判断是不是数字 
{ 
totalAmount+=Number(tbl.rows[n].cells[3].innerText); 
} 
} 
} 
tbl.rows[tbl.rows.length-1].cells[2].innerText=totalCount; 
tbl.rows[tbl.rows.length-1].cells[3].innerText=totalAmount; 
} 
//单价改变,根据行号找到同一行的数量与金额, 
//这些值可以用index='<%#Container.DataItemIndex %>'绑定 
function fPrice(rowId,val){ 
tbl.rows[Number(rowId)].cells[3].innerText= 
Number(val)* Number(tbl.rows[Number(rowId)].cells[2].childNodes[0].value); 
} 
//数量改变 
function fCount(rowId,val){ 
tbl.rows[Number(rowId)].cells[3].innerText= 
Number(val)* Number(tbl.rows[Number(rowId)].cells[1].childNodes[0].value); 
} 
//限制只能输入数字 
function checknum() 
{ 
if((event.keyCode>=48&&event.keyCode<=57)||event.keyCode==8||(event.keyCode>=96&&event.keyCode<=105) 
||event.keyCode==46||event.keyCode==37||event.keyCode==39||event.keyCode==190||event.keyCode==110) 
{ 
event.returnValue=true; 
} 
else 
{ 
event.returnValue=false; 
} 
} 
jQuery(function(){ 
//初始化table 
//tbl=document.getElementById("GridView1"); 
tbl=$("#GridView1").get(0);//返回DOM对象 
//对input键盘限制 
jQuery("input").keydown(function(){ 
checknum(); 
}).keyup(function(){ 
setTotal(); 
}); 
}); 
// --></script> 
</head> 
<body> 
<table id="GridView1" border="1"> 
<tr> 
<td>编号</td> 
<td>单价</td> 
<td>数量</td> 
<td>金额</td> 
</tr> 
<tr> 
<td>1</td> 
<td><input type="text" onkeyup="fPrice(1,this.value);" /></td> 
<td><input type="text" onkeyup="fCount(1,this.value);" /></td> 
<td></td> 
</tr> 
<tr> 
<td>2</td> 
<td><input type="text" onkeyup="fPrice(2,this.value);" /></td> 
<td><input type="text" onkeyup="fCount(2,this.value);"/></td> 
<td></td> 
</tr> 
<tr> 
<td>合计</td> 
<td></td> 
<td></td> 
<td></td> 
</tr> 
</table> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript 开发规范要求(图文并茂)
Jun 11 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
Apr 20 Javascript
选择复选框按钮置灰否则按钮可用
May 22 Javascript
Angularjs整合微信UI(weui)
Mar 15 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
jquery datatable服务端分页
Aug 31 Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
vue-cli中打包图片路径错误的解决方法
Oct 26 Javascript
详解django模板与vue.js冲突问题
Jul 07 Javascript
JavaScript 接口原理与用法实例详解
May 12 Javascript
微信小程序实现多张图片上传功能
Nov 18 Javascript
JAVASCRIPT  THIS详解 面向对象
Mar 25 #Javascript
javascript 打印页面代码
Mar 24 #Javascript
jQuery 全选效果实现代码
Mar 23 #Javascript
利用javascript移动div层-javascript 拖动层
Mar 22 #Javascript
javascript 对象定义方法 简单易学
Mar 22 #Javascript
JS array 数组详解
Mar 22 #Javascript
javascript multibox 全选
Mar 22 #Javascript
You might like
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
php生成curl命令行的方法
2015/12/14 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python3使用requests发闪存的方法
2016/05/11 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
深入理解Python异常处理的哲学
2019/02/01 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
2014年基层党组织公开承诺书
2014/03/29 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
2015年路政工作总结
2015/05/22 职场文书
重温入党誓词主持词
2015/06/29 职场文书
电力安全学习心得体会
2016/01/18 职场文书
创业计划书之甜品店
2019/09/18 职场文书
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android