当前位置: 首页 > news >正文

Datatables:监听行内文本框,进行行内数据修改;计算行总和

一、监听行内文本框,进行行内数据修改

效果

修改数量、单价会自动计算金额(金额=数量*单价)

实现

1、增加行的class

2、数据监听、修改数值

"initComplete": function() {// 监听数量和单价输入框的变化$(document).on('input', '.quantity, .price', function() {var row = $(this).closest('tr');var quantity = parseFloat(row.find('.quantity').val()) || 0;var price = parseFloat(row.find('.price').val()) || 0;var lineAmount = quantity * price;// 更新金额输入框row.find('.line_amount').val(lineAmount.toFixed(2));});}

解决新增行或删除行,数据丢失

"initComplete": function() {$(document).on('input', '.quantity, .price', function() {var row = $(this).closest('tr');var quantity = parseFloat(row.find('.quantity').val()) || 0;var price = parseFloat(row.find('.price').val()) || 0;var lineAmount = quantity * price;// 更新金额输入框row.find('.line_amount').val(lineAmount.toFixed(2));// 更新 allData 数组中的 line_amountvar rowIndex = row.index();let allData = table.rows().data().toArray();allData[rowIndex].line_amount = lineAmount.toFixed(2);});
}

 

二、计算行总和

效果

方法一:遍历求和

 遍历全部金额特有的选择器(这里使用的是class="line_amount"),进行累加

"initComplete": function() {// 获取总金额function getallcount() {var total = 0;//遍历所有class="line_amount"的值,进行累加$('.line_amount').each(function() {var amount = parseFloat($(this).val());if (!isNaN(amount)) {total += amount;}});console.log(total)}
}

在需要的地方进行引用

例如

"initComplete": function() {$(document).on('input', '.quantity, .price', function() {var row = $(this).closest('tr');var quantity = parseFloat(row.find('.quantity').val()) || 0;var price = parseFloat(row.find('.price').val()) || 0;var lineAmount = quantity * price;// 更新金额输入框row.find('.line_amount').val(lineAmount.toFixed(2));// 更新 allData 数组中的 line_amountvar rowIndex = row.index();let allData = table.rows().data().toArray();allData[rowIndex].line_amount = lineAmount.toFixed(2);// 更新总和getallcount();});
}

方法二:使用DataTable的draw 事件

var table = $('#mytable').DataTable({// ... 其他配置 ..."initComplete": function(settings, json) {// ... 初始化代码 ...// 绑定 draw 事件table.on('draw', function() {var api = this.api();//例如获取第列的总和var total = api.column(7).data().reduce(function(a, b) {return a + (b ? parseFloat(b) : 0);}, 0);console.log(total.toFixed(2));});}
});

相关文章:

Datatables:监听行内文本框,进行行内数据修改;计算行总和

一、监听行内文本框,进行行内数据修改 效果 修改数量、单价会自动计算金额(金额数量*单价) 实现 1、增加行的class 2、数据监听、修改数值 "initComplete": function() {// 监听数量和单价输入框的变化$(document).on(input, .…...

对于某些原型或UI软件的个人看法(2024/11)

由于我这几天,一边敲代码,一边进行页面布局设计与编码,发现可能就一个卡片,我都得调很久样式,觉得这样改很累也没效率,页面也不是很美观。所以我想到了ui设计,我可以先进行ui设计,然…...

嵌入式硬件实战提升篇(二)PCB高速板设计 FPGA核心板带DDR3 PCB设计DDR全面解析

引言:设计一款高速板,供读者学习,FPGA核心板,带一颗DDR3内存,FPGA型号:XC6SLX16-2FTG256C。 随着嵌入式硬件技术的快速发展,高速板设计逐渐成为嵌入式系统设计中的核心技术之一。高速板的设计要…...

亚信安全携手飞书“走近先进” 与保隆科技探索制造业数字化转型

亚信安全携手飞书组织举办“走近先进”活动。近日活动“走近”了中国汽车供应链百强、上海市制造业五十强企业——上海保隆汽车科技股份有限公司(以下简称“保隆科技”)。活动围绕“突破桎梏 加速升级”的主题,聚焦企业数字化转型的核心议题&…...

【C++篇】排队的艺术:用生活场景讲解优先级队列的实现

文章目录 须知 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助吗&#xff1…...

VTK的基本概念(一)

文章目录 三维场景的基本要素1.灯光2.相机3.颜色4.纹理映射 三维场景的基本要素 1.灯光 在三维渲染场景中,可以有多个灯光的存在,灯光和相机是三维渲染场景的必备要素,如果没有指定的话,vtkRenderer会自动创建默认的灯光和相机。…...

error LNK2001: 无法解析的外部符号 memcpy strcmp strlen

0>LIBMY_static.lib(pixdesc.obj) : error LNK2001: 无法解析的外部符号 __imp_abort 10>LIBMY_static.lib(random_seed.obj) : error LNK2001: 无法解析的外部符号 __imp_abort 10>postprocess.obj : error LNK2001: 无法解析的外部符号 __imp_abort 10>LIBMY_sta…...

打造智能扩容新纪元:Kubernetes Custom Metrics深度解析

自定义指标:Kubernetes Auto Scaling的革命 1. 引言 1.1 Kubernetes与Auto Scaling Kubernetes作为当今容器编排的事实标准,提供了强大的自动化能力,其中Auto Scaling(自动扩缩容)是其核心特性之一。Auto Scaling允许Kubernetes集群根据当前负载动态调整资源,以应对不…...

【K8s】专题十五(4):Kubernetes 网络之 Calico 插件安装、切换网络模式、卸载

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】(全…...

Unity类银河战士恶魔城学习总结(P141 Finalising ToolTip优化UI显示)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ UI部分暂时完结!!! 本章节优化了UI中物品描述的显示效果,技能描述的显示效果 并且可以批…...

c++(入门)

1. 引用 引用的定义 引用是另一个变量的别名,它在声明时必须被初始化,并且一旦初始化后,它就始终引用那个变量。 引用的语法 引用的声明方式是在变量名前加上&符号。 引用的特点 引用必须在声明时初始化。引用一旦初始化后&#x…...

【优选算法】前缀和

目录 一、[【模板】前缀和](https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf?tpId230&tqId2021480&ru/exam/oj&qru/ta/dynamic-programming/question-ranking&sourceUrl%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595…...

Spring Bean 的生命周期详解

所谓万物皆对象,对于一个 bean 而言,从出生到死亡,他要经历哪些阶段呢? 生命周期 理解对象的生命周期,可以帮助我们更好的做一些扩展。 一个对象从被创建到被垃圾回收,可以大致分为这 5 个阶段&#xff1a…...

MySQL【知识改变命运】12

视图 1:什么是视图2:创建视图使用视图(视图的好处)2.1.隐藏敏感字段2.2.对外提供统一访问3:视图和真实表进⾏表连接查询 4:修改视图数据4.1:通过真实表修改数据,会影响视图4.2&#…...

shell编程(完整版)

目录 一、shell脚本解释器 二、shell脚本的执行 三、变量的使用 四、永久环境变量 按用户设置永久环境变量 文件路径: 示例步骤: 删除永久环境变量 五、脚本程序传递参数怎么实现 六、用编程进行数学运算 shell中利用expr进行运算 运算与变量…...

数字逻辑(一)——导论

1.导论 1.1什么是数字逻辑? 数字逻辑是指在数字电路设计、计算机科学领域中对于离散的二进制信号进行逻辑处理、运算、存储和传输的基本原理和方法。 1.2数字量和模拟量的区别 数字量:在时间上和数量上都是离散的、不连续的物理量。模拟量&#xff1…...

量化交易系统开发-实时行情自动化交易-4.4.做市策略

19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来继续说说做市策略原理。 做市策…...

《线性代数的本质》

之前收藏的一门课,刚好期末复习,顺便看一看哈哈 课程链接:【线性代数的本质】合集-转载于3Blue1Brown官方双语】 向量究竟是什么 线性代数中最基础、最根源的组成部分就是向量,需要先明白什么是向量 不同专业对向量的看法 物理专…...

Gbase8s 允许内置用户创建用户以及创建只读权限用户以及利用角色管理普通用户权限

Gbase8s 允许内置用户创建用户以及创建只读权限用户以及利用角色管理普通用户权限 普通安装实例创建数据库以后,DBA权限只有gbasedbt用户。gbasdbt可以创建普通用户,并且给普通用户赋予库及权限或者表级权限。 但是gbasedbt用户口令和操作系统相关,所以想在不提供gbasedbt的…...

24/11/25 视觉笔记 深度传感器和手势识别

本章的目的是开发一个应用程序,使用深度传感器的输出实时检测和跟踪简单的手势。该应用程序将分析每个已捕捉的帧。并执行以下任务。 手部区域分割:通过分析Kinect传感器的深度图输出,在每一帧中提取用户的手部区域,这是通过阈值…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如&#xff1a…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...