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 相关文章推荐
菜鸟javascript基础整理1
Dec 06 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
Jun 08 Javascript
20条学习javascript的编程规范的建议
Nov 28 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
jquery自适应布局的简单实例
May 28 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
微信小程序使用第三方库Immutable.js实例详解
Sep 27 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
Aug 02 jQuery
node.js中path路径模块的使用方法实例分析
Feb 13 Javascript
加速vue组件渲染之性能优化
Apr 09 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
May 06 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输出金字塔的2种实现方法
2014/12/16 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
laypage.js分页插件使用方法详解
2019/07/27 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
Python中print和return的作用及区别解析
2019/05/05 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
如何使用python传入不确定个数参数
2020/02/18 Python
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
20岁生日感言
2014/01/13 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
V Rising 服务器搭建图文教程
2022/06/16 Servers
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技