我做一个购物车如图:
我想要显示出总价格,其中单个商品的总价已经在后面给出,如何计算出总价格:
字段说明:
表单叫pList,商品总价叫thisTotal;总价叫total.以下是我的代码:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*" %>
<script language="javascript">
function getTatal(){ <!--得到总价方法,此时是错误的-->
var arr=new Array();
arr= document.pList.thisTotal;
alert(arr);
var count = "";
for(var i = 0; i <arr.length; i++)
{
alert(arr[i].value);
count += arr[i].value;
}
document.pList.total.value=count;
}
</script>
<center>
<h1>购物车列表</h1>
<form name="pList" action="update_car.jsp" method="post">
<table>
<TR>
<td >名称</span></td>
<td >价格</td>
<td >简介</td>
<td >数量</td>
<td >总价</td>
</TR>
<%
List all =(List)request.getAttribute("carList"); //得到购物车里面的商品
Map<Integer,Integer> carMap = (Map<Integer,Integer>) session.getAttribute("carMap") ; //得到购物车
Iterator iter = all.iterator() ;
while(iter.hasNext()){
pageContext.setAttribute("pro",iter.next()) ;
%>
<TR >
<td >${pro.productName}</td>
<td >${pro.price}</td>
<td >${pro.note}</td>
<td>
<input type="text" name="${pro.productId}" value=${carMap[pro.productId]} />
<input type="submit" value="修改数量">
</td>
<td>
<input type="text" name="thisTotal" value=${carMap[pro.productId]*pro.price} />
</td>
</TR>
<%
}
%>
</table>
<input type="text" name="total" value="" onLoad="getTotal()" />
<input type="button" value="去结算" onclick="gocheck()">
</form>
</center>
给每行的总价输入框加个id,并且用序列标识,比如id=t0,下一行则为t1。
用js按序列取值相加即可。
哥们,这个需要用jquery做。
个人觉得简单的JS的计算都是可以完成的。
读出最后价格的值然后相加