注意下面的代码,需要加载jquery所以请大家自行到官方网站下载最新版本。 复制代码 代码如下: js操作GridView,实现自动计算 <!-- <BR>table,tr,td{text-align:center;} <BR>input{width:50px;text-align:center;} <br><br>--> table,tr,td{text-align:center;} <br>input{width:50px;text-align:center;} <br> <!-- <BR>//全局 <BR>var tbl; <BR>//改变总金额与总数量 <BR>function setTotal(){ <BR>var totalAmount=0;//总金额 <BR>var totalCount=0;//总数量 <BR>if(tbl!=null&&tbl.rows.length>2)//表头占一行 <br>{ <br>for(var n=1;n<tbl.rows.length-1;n )//rows数组是从0开始,表足占一行 <BR>{ <BR>//总数量 <BR>if(!isNaN(tbl.rows[n].cells[2].childNodes[0].value)) <BR>{ <BR>totalCount =Number(tbl.rows[n].cells[2].childNodes[0].value); <BR>} <BR>//总金额 <BR>if(!isNaN(tbl.rows[n].cells[3].innerText))//判断是不是数字 <BR>{ <BR>totalAmount =Number(tbl.rows[n].cells[3].innerText); <BR>} <BR>} <BR>} <BR>tbl.rows[tbl.rows.length-1].cells[2].innerText=totalCount; <BR>tbl.rows[tbl.rows.length-1].cells[3].innerText=totalAmount; <BR>} <BR>//单价改变,根据行号找到同一行的数量与金额, <BR>//这些值可以用index='<%#Container.DataItemIndex %>'绑定 <br>function fPrice(rowId,val){ <br>tbl.rows[Number(rowId)].cells[3].innerText= <br>Number(val)* Number(tbl.rows[Number(rowId)].cells[2].childNodes[0].value); <br>} <br>//数量改变 <br>function fCount(rowId,val){ <br>tbl.rows[Number(rowId)].cells[3].innerText= <br>Number(val)* Number(tbl.rows[Number(rowId)].cells[1].childNodes[0].value); <br>} <br>//限制只能输入数字 <br>function checknum() <br>{ <br>if((event.keyCode>=48&&event.keyCode<=57)||event.keyCode==8||(event.keyCode>=96&&event.keyCode<=105) <BR>||event.keyCode==46||event.keyCode==37||event.keyCode==39||event.keyCode==190||event.keyCode==110) <BR>{ <BR>event.returnValue=true; <BR>} <BR>else <BR>{ <BR>event.returnValue=false; <BR>} <br><br>} <BR>jQuery(function(){ <BR>//初始化table <BR>//tbl=document.getElementById("GridView1"); <BR>tbl=$("#GridView1").get(0);//返回DOM对象 <BR>//对input键盘限制 <BR>jQuery("input").keydown(function(){ <BR>checknum(); <BR>}).keyup(function(){ <BR>setTotal(); <BR>}); <BR>}); <br><br>// --> 编号 单价 数量 金额 1 2 合计