`
joan0106
  • 浏览: 141634 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

jquery动态添加行并计算总金额

 
阅读更多

物流信息系统中的外购单据功能需求:

如附件中的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
3
0
分享到:
评论
1 楼 skylcf 2012-09-29  
整个页面的代码呢?

相关推荐

    jQuery购物车自动计算金额表单.zip

    总的来说,"jQuery购物车自动计算金额表单"是一个结合了DOM操作、事件处理、计算逻辑、AJAX交互以及可能的动画效果的JavaScript应用实例。开发者可以通过这个项目学习如何使用jQuery构建动态、交互性强的前端功能,...

    js/Jquery/javascript动态添加删除行,统计计算总数.

    用Jquery 添加删除行, 并进行计算 品名 数量 单价 金额(计算得出) 添加(按钮) 品名 数量 单价 金额(计算得出) 删除(按钮) .... --- 总计:

    jQuery购物车自动计算金额表单

    总的来说,这个项目是一个基础的jQuery实践,展示了如何利用JavaScript和jQuery处理用户输入、动态更新页面内容以及进行简单的计算。对于初学者来说,这是一个很好的学习资源,可以了解前端开发中常见的交互实现方式...

    jquery动态表格

    5. 遍历所有行,计算购物车总金额 通过以上步骤,我们可以创建一个功能完善的jQuery动态表格,不仅能够方便地添加和管理数据,还具备实时计算统计的能力,满足购物车或其他数据统计场景的需求。实际应用中,还可以...

    jQuery购物车自动计算金额表单适应于商城购物结算.zip

    在这个项目中,jQuery被用来动态计算购物车中的商品总价,确保在用户增加或减少商品数量时,页面上的总金额能够即时更新。 1. **DOM操作**:jQuery提供了简洁的语法来选取、添加和修改HTML元素。在购物车场景中,...

    jQuery实现购物车计算价格功能的方法

    // 计算总价格 function calculateTotal() { var totalPrice = 0; $(".product").each(function() { var quantity = $(this).find(".quantity").val(); var price = $(this).find(".price").val(); ...

    纯jQuery实现模仿淘宝购物车自动结算金额特效.zip

    在本项目"纯jQuery实现模仿淘宝购物车自动结算金额特效.zip"中,主要涉及的是使用JavaScript的jQuery库来创建一个类似淘宝购物车的结算功能,其中动态计算商品总价的效果。这个功能是电商网站中常见的一个交互特性,...

    Jquery经典的购物车

    jQuery可以遍历购物车中的每项商品,根据数量和单价计算总金额,并显示在页面上。 5. **交互反馈**:jQuery还提供了丰富的动画效果,如淡入淡出、滑动等,使用户的操作有明显的视觉反馈。例如,当商品被成功添加到...

    jQuery添加购物车复选框.zip

    总结起来,"jQuery添加购物车复选框"项目涵盖了jQuery基础、事件处理、DOM操作、数据处理和前端交互等多个方面,对于学习和理解Web开发中的交互设计和动态计算有很好的实践价值。在实际开发中,还需要考虑兼容性、...

    文本框数量加减带总金额计算效果源码下载

    这个源码下载的主题是"文本框数量加减带总金额计算效果",这涉及到一个常见的电商或购物网站功能,即动态更新商品总价。当用户在输入框中增加或减少商品数量时,系统会实时计算并显示总金额。这种功能提供了即时反馈...

    jQuery UI商品图片展示及添加购物车结算代码

    alert("您的订单总金额为:" + totalPrice); }); ``` 以上就是使用jQuery UI实现商品图片展示及添加购物车结算代码的基本流程。通过合理地组织HTML结构,利用jQuery和jQuery UI的事件处理、UI组件等功能,我们可以...

    车自动计算金额表单.rar_CUM 计算金额_chargeszn_车自动计算金额表单

    这通常涉及到遍历商品列表,对每个商品的价格乘以相应的数量,然后将所有结果相加,得到总金额。为了提高效率,可以使用JavaScript的数组方法,如reduce(),将所有商品的总价聚合在一起。 "chargeszn"可能是一个...

    jQuery仿淘宝购物车自动结算金额效果

    3. **计算逻辑**:项目中涉及到的计算包括商品单价乘以数量得到单个商品总价,再将所有商品总价相加得出总金额。在JavaScript中,我们可以使用`*`运算符进行乘法,`+`运算符进行求和。 4. **Ajax交互**:为了提高...

    jquery购物车实时结算特效

    3. **计算逻辑**:在事件处理函数内部,遍历购物车中的每一项商品,将数量与单价相乘得到每项商品的总价,然后累加得到总金额。 4. **动画效果**:为了提升用户体验,可以使用jQuery的动画功能,比如`fadeIn`、`...

    jQuery购物车自动计算金额表单特效代码

    这个代码利用了jQuery库的强大功能,实现了动态计算购物车中商品的总价格,并在用户添加或移除商品时实时更新。 jQuery是一个轻量级、高性能的JavaScript库,广泛用于简化DOM操作、事件处理和动画效果。在这个场景...

    基于js与jq实现淘宝加入购物车的特效和计算购物车的总金额

    本教程将重点讲解如何使用JavaScript(简称js)和jQuery(简称jq)这两种广泛使用的前端技术来实现类似淘宝网的购物车效果,包括商品的添加、删除以及购物车总价的实时计算。 1. **JavaScript基础** JavaScript是...

    商城购物车JS+JQUERY特效

    4. **实时总价**:购物车总价会在用户每次操作后即时计算,展示在页面的总金额区域。 5. **动画效果**:jQuery库提供了丰富的动画API,可以实现如商品飞入购物车、数量增减的渐变效果,增加视觉吸引力。 6. **状态...

    JQuery按揭计算器

    这个“jQuery按揭计算器”就是一个基于JavaScript库jQuery实现的功能,它能够帮助用户根据楼价、借贷金额、利率和年期,计算出在特定变化范围内的每月供款额。下面将详细介绍其主要组成部分和工作原理。 ### 1. ...

Global site tag (gtag.js) - Google Analytics