search
HomeWeb Front-endJS TutorialCode to implement dynamic addition and statistics of table data based on jQuery_jquery


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

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

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

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

We can implement the calculation of shipping costs in the first line.然后点增加明细按钮时,调用jQuery clone(true)函数,建立第一行的副本对象插入到表格下方,由于使用clone(true)可以复制对象的事件处理函数,所以每行中文本框的onblur事件和运费计算函数也被成功复制,不需再做处理。大大减轻了工作量。
    关键代码
(一)创建克隆单元格对象并添加到表格中

复制代码 代码如下:

var v=$("#tbin");//得到表格的jquery对象
//所有的数据行有一个.MyRow的Class,得到数据行的大小
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( //使用jQuery的each函数遍历每行费用对象,累加成总金额
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(); //调用函数统计更新总费用
}); //变化脚本结束

键盘的控制和数据的校验在源程序中有详细注释,具体代码可参考源程序

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何在uniapp中实现数据统计和分析如何在uniapp中实现数据统计和分析Oct 24, 2023 pm 12:37 PM

如何在uniapp中实现数据统计和分析一、背景介绍数据统计和分析是移动应用开发过程中非常重要的一环,通过对用户行为的统计和分析,开发者可以深入了解用户的喜好和使用习惯,从而优化产品设计和用户体验。本文将介绍如何在uniapp中实现数据统计和分析的功能,并提供一些具体的代码示例。二、选择合适的数据统计和分析工具在uniapp中实现数据统计和分析的第一步是选择合

如何使用SQL语句在MySQL中进行数据聚合和统计?如何使用SQL语句在MySQL中进行数据聚合和统计?Dec 17, 2023 am 08:41 AM

如何使用SQL语句在MySQL中进行数据聚合和统计?在进行数据分析和统计时,数据聚合和统计是非常重要的步骤。MySQL作为一个功能强大的关系型数据库管理系统,提供了丰富的聚合和统计函数,可以很方便地进行数据聚合和统计操作。本文将介绍使用SQL语句在MySQL中进行数据聚合和统计的方法,并提供具体的代码示例。一、使用COUNT函数进行计数COUNT函数是最常用

在Beego中使用Google Analytics统计网站数据在Beego中使用Google Analytics统计网站数据Jun 22, 2023 am 09:19 AM

随着互联网的快速发展,Web应用程序的使用越来越普遍,如何对Web应用程序的使用情况进行监控和分析成为了开发者和网站经营者的关注点。GoogleAnalytics是一种强大的网站分析工具,可以对网站访问者的行为进行跟踪和分析。本文将介绍如何在Beego中使用GoogleAnalytics来统计网站数据。一、注册GoogleAnalytics账号首先需要

Vue框架下,如何快速搭建统计图表系统Vue框架下,如何快速搭建统计图表系统Aug 21, 2023 pm 05:48 PM

Vue框架下,如何快速搭建统计图表系统在现代网页应用中,统计图表是必不可少的组成部分。Vue.js作为一款流行的前端框架,提供了很多便捷的工具和组件,能够帮助我们快速搭建统计图表系统。本文将介绍如何利用Vue框架以及一些插件来搭建一个简单的统计图表系统。首先,我们需要准备一个Vue.js的开发环境,包括安装Vue脚手架以及一些相关的插件。在命令行中执行以下命

Vue统计图表的线性、饼状图功能实现Vue统计图表的线性、饼状图功能实现Aug 19, 2023 pm 06:13 PM

Vue统计图表的线性、饼状图功能实现在数据分析和可视化领域,统计图表是一种非常常用的工具。Vue作为一种流行的JavaScript框架,提供了便捷的方法来实现各种功能,包括统计图表的展示和交互。本文将介绍如何使用Vue来实现线性和饼状图功能,并提供相应的代码示例。线性图功能实现线性图是一种用于展示数据趋势和变化的图表类型。在Vue中,我们可以使用一些优秀的第

如何使用MySQL的COUNT函数统计数据表的行数如何使用MySQL的COUNT函数统计数据表的行数Jul 25, 2023 pm 02:09 PM

如何使用MySQL的COUNT函数统计数据表的行数在MySQL中,COUNT函数是一个非常强大的函数,用于统计数据表中满足特定条件的行数。本文将介绍如何使用MySQL的COUNT函数来统计数据表的行数,并提供相关的代码示例。COUNT函数的语法如下:SELECTCOUNT(column_name)FROMtable_nameWHEREconditi

统计分析法的步骤统计分析法的步骤Jun 28, 2023 pm 03:27 PM

统计分析,常指对收集到的有关数据资料进行整理归类并进行解释的过程。统计分析的基本步骤包括:1、收集数据;2、整理数据;3、分析数据。

你知道excel如何统计人数吗你知道excel如何统计人数吗Mar 20, 2024 pm 01:30 PM

Excel作为常用办公软件之一,是我们生活中和工作上不可缺少的好伙伴。我们经常回利用它统计人数,这也是最常见的操作。对于熟悉Excel的老炮儿来说,用它来统计人数是分分钟的事情;但如果是新手的话,用ecxel统计人数简直是难于上青天啊!那该怎么使用呢?我今天整理了一篇文档,希望能帮到你们哦!一起来看一下吧!方法一:【利用函数来统计人数】(如图所示)我们在最下面的单位格中输入【=COUNT(B2:B6)】;接着,按【回车键】即可得人数。方法二:【利用状态栏来统计人数】(如图所示)。1、我们点击鼠标

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool