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 相关文章推荐
dojo随手记 gird组件引用
Feb 24 Javascript
jQuery插件开发全解析
Oct 10 Javascript
js 控制下拉菜单刷新的方法
Mar 03 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
jquery实现树形菜单完整代码
Dec 29 Javascript
jquery中取消和绑定hover事件的实现代码
Jun 02 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
vue 项目地址去掉 #的方法
Oct 20 Javascript
layui监听单元格编辑前后交互的例子
Sep 16 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
Oct 17 Javascript
vue实现信息管理系统
May 30 Javascript
vue项目实现减少app.js和vender.js的体积操作
Nov 12 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
Swoole扩展的6种模式深入详解
2021/03/04 PHP
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
Python help()函数用法详解
2014/03/11 Python
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
Python实现登录接口的示例代码
2017/07/21 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
python按照多个条件排序的方法
2019/02/08 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
美国保健品专家:Life Extension
2018/05/04 全球购物
市场营销专业推荐信
2013/11/03 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
同学聚会邀请函
2015/01/30 职场文书
关于远足的感想
2015/08/10 职场文书
小学体育课教学反思
2016/02/16 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
Python torch.flatten()函数案例详解
2021/08/30 Python
欧元符号 €
2022/02/17 杂记
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis
Python面试不修改数组找出重复的数字
2022/05/20 Python