当前位置: 代码迷 >> Java Web开发 >> 商品购物车如何实现每种商品总价都随商品数量变化而变化
  详细解决方案

商品购物车如何实现每种商品总价都随商品数量变化而变化

热度:54   发布时间:2016-04-13 22:23:18.0
商品购物车怎么实现每种商品总价都随商品数量变化而变化
如题
我在jsp页面用<s:iterator>标签遍历了购物车里的商品,并且在总价和数量各定义一个ID,在数量属性里定义一个onchang()并写了相应的JS,但是只有列表第一种商品能总价随数量变化而变化。我想可能是每种商品ID都相同的原因,请问应该怎么做能解决这个问题。
JSP页面相关代码:<s:iterator value="#session.proInvoiceList" var="proInvoice" status="status">
<form action="invoiceedit.action" method="post">
<input type="hidden" name="proInvoice.id"
value="<s:property value='#proInvoice.id'/>">
<tr><td><div class="STYLE1" align="center">
<s:property value="#proInvoice.product.id" /></div>
                            </td><td><div class="STYLE1" align="center">
<s:property value="#proInvoice.price" /></div></td>
<td><div class="STYLE1" align="center">
<input type="text" name="proInvoice.total" id="total" value="<s:property value="#proInvoice.total" />">
<input type="hidden" name="proInvoice.price" id="price" value="<s:property   value="#proInvoice.price" />"></div></td>
<td><div class="STYLE1" align="center"><input type="text" name="proInvoice.count" id="count" onchange="changesum();" 
value="<s:property value="#proInvoice.count" />"></div></td>
js代码:function changesum() {
var count = document.getElementById("count").value;
                                           var price= document.getElementById("price").value;
                                        document.getElementById("total").value = price*count;
}
------解决思路----------------------
每种商品 ID 都相同?
------解决思路----------------------
每种商品的 id 总不能一样吧?
找个唯一属性的
------解决思路----------------------
用$(this)
------解决思路----------------------
或者 onchange="changesum(this);"  把this传过去,获取当前的对象 
  相关解决方案