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 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
动态创建的表格单元格中的事件实现代码
Dec 30 Javascript
将list转换为json失败的原因
Dec 17 Javascript
Javascript中数组sort和reverse用法分析
Dec 30 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
Oct 21 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
Jan 27 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
Vue 仿QQ左滑删除组件功能
Mar 12 Javascript
在vue组件中使用axios的方法
Mar 16 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
Aug 29 Javascript
浅谈vuex的基本用法和mapaction传值问题
Nov 08 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
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
php实现微信支付之企业付款
2018/05/30 PHP
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
SWFObject Flash js调用类
2008/07/08 Javascript
js判断变量是否空值的代码
2008/10/26 Javascript
DOM下的节点属性和操作小结
2009/05/14 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
python 对key为时间的dict排序方法
2018/10/17 Python
python实现支付宝转账接口
2019/05/07 Python
Django Celery异步任务队列的实现
2019/07/24 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
成考报名单位证明范本
2014/01/16 职场文书
教育科研先进个人材料
2014/01/26 职场文书
总经理任命书
2014/03/29 职场文书
测控技术自荐信
2014/06/05 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
聘用意向书
2014/07/29 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
建筑横幅标语
2014/10/09 职场文书