物流信息系统中的外购单据功能需求:
如附件中的bill_add.bmp所示(本来要上传图片的,但没找到如何上传本地图片在文章中,所以就上传的是附近),表格中每一行代表一笔进购材料的信息,在录入每行的实收数量和单价,要求能算出这样材料的金额,并且能自动统计所有进购材料的总金额。进购材料信息的数据量(即表格的行数)不定,要求能动态增加(每次递增6行),即表格的数据行数是动态可维护的。
1、实现动态添加行
在此我用的的jquery的before()在所有段落之前插入一些HTML标记代码
在合计的行之前插入行的
function addRow() {
var tabObj = $("#tableInfo");
var len = $('#tableInfo tr').length;
var j = len - 2;
for(var i = 1;i<=6;i++){
param = parseInt(i+j);
var model = '<tr>'
+ '<td><input type="text" id="qmateCode_'
+ parseInt(i+j)
+ '" name="mateCode" autocomplete="off" style="height:18px;"/></td>'
+ '<td><input type="text" name="mateNames" id="mateName'+param+'"
size="30"/></td>'
+ '<td><input type="text" name="mateSpec" id="mateSpec'+param+'"
size="15"/></td>'
+ '<td><input type="text" name="mateUnit" id="mateUnit'+param+'"
size="5"/></td>'
+ '<td><input type="text" name="mateNum" id="mateNum'+param+'"
size="5" /></td>'
+ '<td><input type="text" name="matePrice" id="price'+param+'"
size="5" /></td>'
+ '<td><input type="text" name="mateAmount" size="5"
id="iodeSum'+param+'" /></td>'
+ '<td><input type="text" name="remark" id="remark'+param+'"
size="20"/></td>'
+ '</tr>';
$('#heji').before(model);
}
}
//验证单价
function checkPrice(price,objId,mateNum,mateAmount){
var id = objId.split('_')[1];
price.value = price.value.replace(/[^\d.]/g,'');//把非数字的都替换掉,除了数字和点(.)
price.value = price.value.replace(/^\./g,''); //保证第一个必须是数字,而不能是点(.)
price.value = price.value.replace(/\.{2,}/g,'.'); //保证不能存在多个.连续,只能一个
price.value = price.value.replace('.','#').replace(/\./g,'').replace('#','.'); //保证.只出现一次,
//不能出现两次以上
if(price.value == ''){
price.value = 0;
}
var mateNum = $('#'+mateNum+id);
var mateAmount = $('#'+mateAmount+id);
if(mateNum.val() !=''){
mateAmount.attr('value',parseFloat(parseFloat(price.value)*mateNum.val()));
}
updateTotal(); //计算总金额
}
/**检查数量*/
function checkNum(num,objId,matePrice,mateAmount){
var id = objId.split('_')[1];
num.value = num.value.replace(/[^\d.]/g,'');//把非数字的都替换掉,除了数字和点(.)
num.value = num.value.replace(/^\./g,''); //保证第一个必须是数字,而不能是点(.)
num.value = num.value.replace(/\.{2,}/g,'.'); //保证不能存在多个.连续,只能一个
num.value = num.value.replace('.','#').replace(/\./g,'').replace('#','.'); //保证.只出现一次,
//不能出现两次以上
if(num.value == '' || num.value == 0){
num.value = 1;
}
var mateprice = $('#'+matePrice+id);
var mateAmount = $('#'+mateAmount+id);
if(mateprice.val() !=''){
mateAmount.attr('value',parseFloat(num.value*mateprice.val()));
updateTotal();//计算总金额
}
}
//统计更新总金额
function updateTotal(){
var totalMoney = 0 ;//总金额的初始值为0
var table = $('#tableInfo'); //得到表格的jquery对象
var total = table.find('#sum'); //得到总金额的对象
var txtAfters = [];//每一行金额 的数组对象
if(param != 0){
for(var i = 1;i<= param ;i++){
txtAfters.push(table.find('#iodeSum'+i));//得到所有计算好的金额对象
}
}
$.each(txtAfters,function(j){
var tempValue = $(this).val();
if(tempValue == ""){
tempValue = 0;
}
totalMoney = totalMoney+parseFloat(tempValue); //计算总费用
});
total.val(totalMoney);//将总费用显示到对应的文本框对象中
}
- 描述: 添加
- 大小: 12.5 KB
分享到:
相关推荐
总的来说,"jQuery购物车自动计算金额表单"是一个结合了DOM操作、事件处理、计算逻辑、AJAX交互以及可能的动画效果的JavaScript应用实例。开发者可以通过这个项目学习如何使用jQuery构建动态、交互性强的前端功能,...
用Jquery 添加删除行, 并进行计算 品名 数量 单价 金额(计算得出) 添加(按钮) 品名 数量 单价 金额(计算得出) 删除(按钮) .... --- 总计:
总的来说,这个项目是一个基础的jQuery实践,展示了如何利用JavaScript和jQuery处理用户输入、动态更新页面内容以及进行简单的计算。对于初学者来说,这是一个很好的学习资源,可以了解前端开发中常见的交互实现方式...
5. 遍历所有行,计算购物车总金额 通过以上步骤,我们可以创建一个功能完善的jQuery动态表格,不仅能够方便地添加和管理数据,还具备实时计算统计的能力,满足购物车或其他数据统计场景的需求。实际应用中,还可以...
在这个项目中,jQuery被用来动态计算购物车中的商品总价,确保在用户增加或减少商品数量时,页面上的总金额能够即时更新。 1. **DOM操作**:jQuery提供了简洁的语法来选取、添加和修改HTML元素。在购物车场景中,...
// 计算总价格 function calculateTotal() { var totalPrice = 0; $(".product").each(function() { var quantity = $(this).find(".quantity").val(); var price = $(this).find(".price").val(); ...
在本项目"纯jQuery实现模仿淘宝购物车自动结算金额特效.zip"中,主要涉及的是使用JavaScript的jQuery库来创建一个类似淘宝购物车的结算功能,其中动态计算商品总价的效果。这个功能是电商网站中常见的一个交互特性,...
jQuery可以遍历购物车中的每项商品,根据数量和单价计算总金额,并显示在页面上。 5. **交互反馈**:jQuery还提供了丰富的动画效果,如淡入淡出、滑动等,使用户的操作有明显的视觉反馈。例如,当商品被成功添加到...
总结起来,"jQuery添加购物车复选框"项目涵盖了jQuery基础、事件处理、DOM操作、数据处理和前端交互等多个方面,对于学习和理解Web开发中的交互设计和动态计算有很好的实践价值。在实际开发中,还需要考虑兼容性、...
这个源码下载的主题是"文本框数量加减带总金额计算效果",这涉及到一个常见的电商或购物网站功能,即动态更新商品总价。当用户在输入框中增加或减少商品数量时,系统会实时计算并显示总金额。这种功能提供了即时反馈...
alert("您的订单总金额为:" + totalPrice); }); ``` 以上就是使用jQuery UI实现商品图片展示及添加购物车结算代码的基本流程。通过合理地组织HTML结构,利用jQuery和jQuery UI的事件处理、UI组件等功能,我们可以...
这通常涉及到遍历商品列表,对每个商品的价格乘以相应的数量,然后将所有结果相加,得到总金额。为了提高效率,可以使用JavaScript的数组方法,如reduce(),将所有商品的总价聚合在一起。 "chargeszn"可能是一个...
3. **计算逻辑**:项目中涉及到的计算包括商品单价乘以数量得到单个商品总价,再将所有商品总价相加得出总金额。在JavaScript中,我们可以使用`*`运算符进行乘法,`+`运算符进行求和。 4. **Ajax交互**:为了提高...
3. **计算逻辑**:在事件处理函数内部,遍历购物车中的每一项商品,将数量与单价相乘得到每项商品的总价,然后累加得到总金额。 4. **动画效果**:为了提升用户体验,可以使用jQuery的动画功能,比如`fadeIn`、`...
这个代码利用了jQuery库的强大功能,实现了动态计算购物车中商品的总价格,并在用户添加或移除商品时实时更新。 jQuery是一个轻量级、高性能的JavaScript库,广泛用于简化DOM操作、事件处理和动画效果。在这个场景...
本教程将重点讲解如何使用JavaScript(简称js)和jQuery(简称jq)这两种广泛使用的前端技术来实现类似淘宝网的购物车效果,包括商品的添加、删除以及购物车总价的实时计算。 1. **JavaScript基础** JavaScript是...
4. **实时总价**:购物车总价会在用户每次操作后即时计算,展示在页面的总金额区域。 5. **动画效果**:jQuery库提供了丰富的动画API,可以实现如商品飞入购物车、数量增减的渐变效果,增加视觉吸引力。 6. **状态...
这个“jQuery按揭计算器”就是一个基于JavaScript库jQuery实现的功能,它能够帮助用户根据楼价、借贷金额、利率和年期,计算出在特定变化范围内的每月供款额。下面将详细介绍其主要组成部分和工作原理。 ### 1. ...