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 相关文章推荐
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
Feb 22 Javascript
Prototype Date对象 学习
Jul 12 Javascript
理解Javascript_14_函数形式参数与arguments
Oct 20 Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 Javascript
Javascript Request获取请求参数如何实现
Nov 28 Javascript
js操作checkbox遇到的问题解决
Jun 29 Javascript
使用js画图之正弦曲线
Jan 12 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
Mar 16 Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 Javascript
svg动画之动态描边效果
Feb 22 Javascript
微信小程序 地图map实例详解
Jun 07 Javascript
Vue+Flask实现图片传输功能
Apr 01 Vue.js
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
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
Node.js实现文件上传
2016/07/05 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
pandas带有重复索引操作方法
2018/06/08 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
Python多线程获取返回值代码实例
2020/02/17 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
用 Python 制作地球仪的方法
2020/04/24 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
浅析Python 责任链设计模式
2020/09/11 Python
python 两种方法删除空文件夹
2020/09/29 Python
几个Linux面试题笔试题
2012/12/01 面试题
写给女朋友的道歉信
2014/01/12 职场文书
歌唱比赛主持词
2014/03/18 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
个人租房协议书范本
2014/09/30 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
音乐剧猫观后感
2015/06/04 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书