应用jQuery实现表格数据的动态添加与统计.doc_第1页
应用jQuery实现表格数据的动态添加与统计.doc_第2页
应用jQuery实现表格数据的动态添加与统计.doc_第3页
应用jQuery实现表格数据的动态添加与统计.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要:使用jQuery可以大大减轻工作量,在实际开发中,使用了jQuery的clone(true)函数,该函数可以创建一个jQury对象的副本,并且参数为true时,可以复制该元素的所有事件处理函数。某物流信息系统中的功能要求如图1.1所示,表格中每一行代表一笔运送货物的信息,在录入每行的计费重量和费率后,要求能按一定的公式,自动计算运送费用,并且能自动统计所有运送货物的总运费。运送货物信息的数据量(即表格的行数)不定,要求能动态增加、删除,即表格的数据行数是动态可维护的。同时为了方便操作,需要在页面中能像使用键盘的上下左右方向键,在录入的文本框之间进行切换。每行的数据有一定的校验要求,比如单号必须为8位数字,件数和重量必须为数字.单行货物信息计算运费不难实现,只需要在计费重量和费率的文本框对象的onblur事件中,得到费率和计费重量,按照公式计算好运费即可。总计费用的统计也不难实现,遍历整个表格的所有费用对象,统计其和,将计算结果放到总计的文本框对象即可。难点在动态添加整行表格数据,而且每行数据上的各文本框对象的事件也要实现自动统计和运算,有相当的难度。如果使用JavaScript需要调用Dom对象创建一个单元格,还需要在tr里面添加10多个单元格对象,每个单元格对象内要添加文本框对象,还需要在文本框对象上响应onblur事件进行运费计算,代码量相当大。使用jQuery可以大大减轻工作量,在实际开发中,使用了jQuery的clone(true)函数,该函数可以创建一个jQury对象的副本,并且参数为true时,可以复制该元素的所有事件处理函数。我们可以在第一行中实现计算运费的运算。然后点增加明细按钮时,调用jQuery 的clone(true)函数,建立第一行的副本对象插入到表格下方,由于使用clone(true)可以复制对象的事件处理函数,所以每行中文本框的onblur事件和运费计算函数也被成功复制,不需再做处理。大大减轻了工作量。关键代码(一)创建克隆单元格对象并添加到表格中 1. varv=$(#tbin);/得到表格的jquery对象 2./所有的数据行有一个.MyRow的Class,得到数据行的大小 3. varvcount=$(#tbintr).filter(.MyRow).size()+1;4./表格有多少个数据行 5. varvTr=$(#tbin#trDataRow1);6./得到表格中的第一行数据 7. varvTrClone=vTr.clone(true);/创建第一行的副本对象vTrClone 8. vTrClone.appendTo(v);/把副本单元格对象添加到表格下方(二)统计更新总金额 1. functionUpdateTotal()/更新总金额 2. 3. varvTotalMoney=0;/总金额的初始值为0; 4. varvTable=$(#tbin);/得到表格的jquery对象 5. varvTotal=vTable.find(#txtTotal);/得到总金额对象 6. varvtxtAfters=vTable.find(#txtMoney);/得到所有计算好的费用对象; 7. vtxtAfters.each(/使用jQuery的each函数遍历每行费用对象,累加成总金额 8. function(i)9. 10. varvTempValue=$(this).val();11.if(vTempValue=)12. 13. vTempValue=0;14. 15. vTotalMoney=vTotalMoney+parseFloat(vTempValue);/计算总费用 16. 17. )/遍历结束 18. vTotal.val(vTotalMoney);/将总费用显示到对应文本框对象中 19. (三)计费重量变化时计算费用,并统计总费用 1. $(#txtMoneyWeight).bind(change,function()2. 3. varvTotalMoney=0;/总金额的初始值为0; 4. varvtxtDetail=$(this);/得到变化的文本框对象 5. varvVal=vtxtDetail.val();6. varvtxtAfter=vtxtDetail.parent(td).parent(tr).find(#txtRate);7./得到费率; 8. varvtxtMoney=vtxtDetail.parent(td).parent(tr).find(#txtMoney);9./得到费用; 10. varvMoney=CalculatorMoney(vVal,vtxtAfter.val();11./使用公式计算单行运费 12. vtxtMone

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论