`
frank1998819
  • 浏览: 758177 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

应用jQuery实现表格数据的动态添加与统计(转)

 
阅读更多

应用jQuery实现表格数据的动态添加与统计


图(1.1)
某物流信息系统中的功能要求如图1.1所示,表格中每一行代表一笔运送货物的信息,在录入每行的计费重量费率后,要求能按一定的公式,自动计算运送费用,并且能自动统计所有运送货物的总运费。运送货物信息的数据量(即表格的行数)不定,要求能动态增加、删除,即表格的数据行数是动态可维护的。同时为了方便操作,需要在页面中能像使用键盘的上下左右方向键,在录入的文本框之间进行切换。每行的数据有一定的校验要求,比如单号必须为8位数字,件数和重量必须为数字...
单行货物信息计算运费不难实现,只需要在计费重量和费率的文本框对象的onblur事件中,得到费率和计费重量,按照公式计算好运费即可。

总计费用的统计也不难实现,遍历整个表格的所有费用对象,统计其和,将计算结果放到总计的文本框对象即可。

难点在动态添加整行表格数据,而且每行数据上的各文本框对象的事件也要实现自动统计和运算,有相当的难度。如果使用JavaScript需要调用Dom对象创建一个<tr>单元格,还需要在tr里面添加10多个单元格<td>对象,每个单元格<td>对象内要添加文本框对象,还需要在文本框对象上响应onblur事件进行运费计算,代码量相当大。

使用jQuery可以大大减轻工作量,在实际开发中,使用了jQueryclone(true)函数,该函数可以创建一个jQury对象的副本,并且参数为true,可以复制该元素的所有事件处理函数。

我们可以在第一行中实现计算运费的运算。然后点增加明细按钮时,调用jQuery clone(true)函数,建立第一行的副本对象插入到表格下方,由于使用clone(true)可以复制对象的事件处理函数,所以每行中文本框的onblur事件和运费计算函数也被成功复制,不需再做处理。大大减轻了工作量。
关键代码

(一)创建克隆单元格对象并添加到表格中

var v=$("#tbin");//得到表格的jquery对象

//所有的数据行有一个.MyRowClass,得到数据行的大小

var vcount=$("#tbin tr").filter(".MyRow").size()+1;//表格有多少个数据行

var vTr=$("#tbin #trDataRow1"); //得到表格中的第一行数据

var vTrClone=vTr.clone(true);//创建第一行的副本对象vTrClone

vTrClone.appendTo(v);//把副本单元格对象添加到表格下方

(二)统计更新总金额

function UpdateTotal()//更新总金额

{

var vTotalMoney=0;//总金额的初始值为0;

var vTable=$("#tbin");//得到表格的jquery对象

var vTotal= vTable.find("#txtTotal") ;//得到总金额对象

var vtxtAfters=vTable.find("#txtMoney");//得到所有计算好的费用对象;

vtxtAfters.each(//使用jQueryeach函数遍历每行费用对象,累加成总金额

function(i)

{

var vTempValue=$(this).val();

if(vTempValue=="")

{

vTempValue=0;

}

vTotalMoney=vTotalMoney+parseFloat(vTempValue);//计算总费用

}

)//遍历结束

vTotal.val(vTotalMoney); //将总费用显示到对应文本框对象中

}

(三)计费重量变化时计算费用,并统计总费用

$("#txtMoneyWeight").bind("change", function()

{

var vTotalMoney=0;//总金额的初始值为0;

var vtxtDetail=$(this);//得到变化的文本框对象

var vVal=vtxtDetail.val();

var vtxtAfter=vtxtDetail.parent("td").parent("tr").find("#txtRate");//得到费率;

var vtxtMoney=vtxtDetail.parent("td").parent("tr").find("#txtMoney");//得到费用;

var vMoney=CalculatorMoney(vVal,vtxtAfter.val());//使用公式计算单行运费

vtxtMoney.val(vMoney); //显示单行运费信息

UpdateTotal();//调用函数统计更新总费用

 

}); //变化脚本结束
键盘的控制和数据的校验在源程序中有详细注释,
具体代码可参考源程序

 
<script type="text/javascript">// <![CDATA[ var isLogined = false; var cb_blogId = 8508; var cb_entryId = 1945020; var cb_blogApp = currentBlogApp; var cb_blogUserGuid = "9491310b-63cf-dd11-9e4d-001cf0cd104b"; var cb_entryCreatedDate = '2011/1/26 0:22:00'; var enableGoogleAd = true; var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; // ]]></script>
 
分享到:
评论

相关推荐

    jquery数据统计饼图+表格动态效果现实

    总的来说,"jQuery数据统计饼图+表格动态效果实现"是一个实用的示例,展示了如何结合使用jQuery和其他工具来创建交互式的数据可视化应用。通过学习和实践此类项目,开发者能够提升自己在数据展示和用户体验设计方面...

    jquery插件,基于jquery的表格控件无刷新实现添加编辑删除统计功能

    - 统计:根据表格数据进行计算,例如求和、平均值等,结果可放置在表格下方或独立区域。 三、时间插件集成 为了在表格中插入时间,我们可以利用jQuery的时间插件,如jQuery UI的日期选择器或者Moment.js等。这些...

    jquery合并表格行记录

    本文将围绕“jquery合并表格行记录”这一主题展开,探讨如何利用jQuery实现表格数据的合并,提高数据展示的可读性。 首先,表格(Table)在网页中用于展示结构化数据,但在显示大量重复数据时,可能会显得过于冗余...

    jquery 图表插件可编辑表格生成走势图jquery 图表统计

    本文将详细探讨与“jquery 图表插件可编辑表格生成走势图jquery 图表统计”相关的知识点,帮助你更好地理解和应用这些技术。 首先,jQuery图表插件是用于在网页上创建各种可视化数据的工具,它们可以将复杂的数据...

    用JQuery实现table按列分组(简单常用

    总结来说,利用JQuery实现table按列分组,无论是通过列索引还是列name值,都需要遍历表格数据并根据分组条件进行分组。理解这一过程对于优化前端数据展示,提升用户体验有着重要作用。同时,了解和掌握JQuery的基本...

    jQuery动态表格检索排序代码.zip

    总的来说,"jQuery动态表格检索排序代码"是一个实用的工具,它可以帮助开发者更高效地实现数据展示和交互,对于处理大数据量的网页应用尤其有用。理解并掌握这些技术,将有助于提升你的前端开发能力。

    jquery表格插件jqgrid

    **jQuery表格插件jqGrid详解** jqGrid是一款强大的基于JavaScript的开源网格控件,它能够为Web应用程序提供灵活、功能丰富的数据展示和操作界面。这款插件是jQuery库的一个扩展,专为处理大量数据和实现复杂的表格...

    jquery动态表格

    通过以上步骤,我们可以创建一个功能完善的jQuery动态表格,不仅能够方便地添加和管理数据,还具备实时计算统计的能力,满足购物车或其他数据统计场景的需求。实际应用中,还可以进一步优化用户体验,比如添加验证、...

    jquery表格分组

    如果表格数据是动态加载的,例如通过Ajax请求获取,需要在数据加载后重新应用分组。插件通常提供方法来更新已分组的表格,如`.reload()`或`.reflow()`。 7. **扩展与定制**: 对于高级用例,可能需要扩展插件功能...

    myExcel基于jquery实现的web版excel包含excel的基本功能

    myExcel是一款基于jQuery库开发的Web版Excel工具,旨在为用户在浏览器环境下提供类似Microsoft Excel的功能,便于在线处理和编辑表格数据。这个项目的核心在于利用JavaScript的灵活性和jQuery的便利性,来模拟传统...

    jquery.tablesorter实现表格各列排序

    `jquery.tablesorter`是基于jQuery的一个插件,专门用于实现表格数据的动态排序,使得用户可以轻松地对表格中的列进行升序或降序排序。这个插件不仅提供了基本的排序功能,还支持自定义排序规则、复杂的数据类型处理...

    jQuery·双色表格

    -- 表格数据 --&gt; ``` - `table` 元素:定义了一个表格。 - `thead` 和 `tbody`:分别表示表格的头部和主体部分。 - `th` 和 `td`:分别代表表格的表头单元格和数据单元格。 ##### 2. CSS 样式 ```css th { ...

    利用jquery根据json文本动态的生成可分组的table,并实现checkbox partial check功能

    在本例中,我们假设你有一个包含表格数据的JSON对象,每个对象代表表格的一行,可能包含分组信息和其他字段。 动态生成表格的核心是使用jQuery的`append()`方法。首先,你需要遍历JSON数据,根据分组信息创建表格的...

    jQuery店铺每月人数流量柱状统计图表代码.zip

    《jQuery店铺每月人数流量柱状统计图表代码...通过学习和理解这段代码,开发者不仅能掌握基本的jQuery操作,还能了解到如何利用JavaScript处理数据并生成动态图表,这对于任何需要展示数据的Web应用都是极其有价值的。

    Android显示用jQuery+JS+HTML让是显示报表

    6. **Ajax交互**: 使用jQuery的Ajax功能,可以实现Android应用与服务器之间的异步数据交换,实现实时更新报表。例如,用户可以筛选数据,而无需重新加载整个页面。 7. **Chart.js或Highcharts**: 在描述中提到的...

    c#asp.net表格Html数据模板转换Pdf文件web打印报表dll

    在IT行业中,C# ASP.NET是一种广泛用于构建Web应用程序的技术栈,它允许开发人员创建动态、交互式的网页。本文将详细探讨如何利用C# ASP.NET处理HTML表格数据,并将其转换为PDF格式,以便进行Web打印和生成PDF报表,...

    超实用的jQuery代码段

    《超实用的jQuery代码段》从jQuery框架的使用原理与应用场景出发,对最实用的jQuery代码段进行了全方位的介绍和演示。全书分为11章,包含网页效果、DOM元素与属性、HTML事件、CSS样式、用户输入自动完成、拖放、图形...

    类似Excel的jquery电子表格插件jExcel.js.zip

    5. **导入导出**:可以将表格数据导入和导出为CSV、JSON、Excel等常见格式。 6. **响应式设计**:自动适应不同屏幕尺寸,确保在手机、平板和桌面端的良好显示效果。 7. **事件监听**:提供多种事件监听器,如...

    可将HTML表格导出为Excel_csv_txt文件的jQuery插件

    在这个场景中,我们关注的是一个专门用于将HTML表格数据导出到Excel、CSV或TXT文件的jQuery插件。 1. **HTML表格数据导出**:HTML表格(`&lt;table&gt;`元素)是网页中展示结构化数据的标准方式。这个jQuery插件提供了一...

    jQuery仿Excel样式的表格排序插件.zip

    4. 表格过滤与搜索:结合其他jQuery插件,如`tablesorter-filter`,可以实现表格数据的筛选和搜索功能,进一步增强交互性。 四、应用场景 该插件广泛应用于各种需要数据展示和管理的场合,如: - 数据分析报告:...

Global site tag (gtag.js) - Google Analytics