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 相关文章推荐
一些常用的JS功能函数代码
Jun 23 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
Mar 04 Javascript
jquery next nextAll nextUntil siblings的区别介绍
Oct 05 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
Feb 07 Javascript
Bootstrap实现弹性搜索框
Jul 11 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
ionic选择多张图片上传的示例代码
Oct 10 Javascript
JavaScript实现音乐自动切换和轮播
Nov 05 Javascript
vue中使用cropperjs的方法
Mar 01 Javascript
在Vue环境下利用worker运行interval计时器的步骤
Aug 01 Javascript
Vue项目利用axios请求接口下载excel
Nov 17 Vue.js
解决await在forEach中不起作用的问题
Feb 25 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中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
自己的js工具 Event封装
2009/08/21 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
jquery实现简单的瀑布流布局
2016/12/11 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
详解Vue爬坑之vuex初识
2017/06/14 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
Django如何实现上传图片功能
2019/08/16 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
python 实现兔子生兔子示例
2019/11/21 Python
tensorflow之并行读入数据详解
2020/02/05 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
Pycharm中如何关掉python console
2020/10/27 Python
墨西哥购物网站:Elektra
2020/01/21 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
女子职高个人自荐书
2014/02/01 职场文书
外贸专业求职信
2014/03/09 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
承诺书模板
2014/08/30 职场文书
未婚证明书模板
2014/10/08 职场文书
家长意见书
2015/06/04 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python