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下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
Oct 31 Javascript
JavaScript给url网址进行encode编码的方法
Mar 18 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
Node.js开发者必须了解的4个JS要点
Feb 21 Javascript
JS小数转换为整数的方法分析
Jan 07 Javascript
canvas实现流星雨的背景效果
Jan 13 Javascript
js的OOP继承实现(必看篇)
Feb 18 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
微信小程序request出现400的问题解决办法
May 23 Javascript
JS 60秒后重新发送验证码的实例讲解
Jul 26 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 Javascript
vue使用showdown并实现代码区域高亮的示例代码
Oct 17 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 获取mysql数据库信息代码
2009/03/12 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
vue.js的提示组件
2017/03/02 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
Python全局变量用法实例分析
2016/07/19 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技