jsp购物车修改商品数量的问题

想实现直接在购物车界面输入框修改数量功能、可是因为购物车是通过for循环读出来的、所以就有个问提、在点修该数量的时候、获到的id是最后一个商品的id、获到的count却是... 想实现直接在购物车界面输入框修改数量功能、可是因为购物车是通过for循环读出来的、所以就有个问提、在点修该数量的时候、获到的id是最后一个商品的id、获到的count却是第一个商品后面的输入框的值、求解如何能正确的获取本商品的id和商品后面的输入框的值???
部分代码如下

<%
float total = 0;
if((ArrayList)session.getAttribute("cart")==null)
{
%>
<tr>
<td align="center" colspan="4">
您的购物车为空!
</td>
</tr>
<tr>
<td>
<br/>
</td>
</tr>
<%
}
else
{
ArrayList arraylist = (ArrayList) session.getAttribute("cart");
for (int i = 0; i < arraylist.size(); i++) {
Goods goods = (Goods) arraylist.get(i);
total += goods.getPrice() * goods.getCount();
%>
<tr>
<td align="center">
<a href="detailProduct.jsp?productID=<%=goods.getProId()%>">
<img border="0" width="80" height="60" src="proimg/<%=goods.getImg()%>"/>
</a>
</td>
<td align="center">
<a href="detailProduct.jsp?productID=<%=goods.getProId()%>">
<%=goods.getProName() %>
</a>
</td>
<td align="center">
<%=goods.getPrice()%>¥
</td>
<td align="center" valign="middle">
<input type="text" id="count" value="<%=goods.getCount()%>" size="1"/>
<a href="javascript:go()">
<img src="img/changecount.gif" title="修改商品数量" border="0" width="15" height="15" style="position: relative;top:2px;"/>
</a>
<script type="text/javascript">
function go(){
var str;
str="changecount.jsp?count=";
str+=document.getElementById("count").value;
str+="&&";
str+="proId=";
str+="<%=goods.getProId()%>";
window.location=str;
}
</script>
</td>
<td align="center" valign="middle">
<a href="removeGoods.jsp?proId=<%=goods.getProId()%>">
<img src="img/del.gif" title="删除" border="0" width="15" height="15" style="position: relative;top:1px;"/>
</a>
</td>
</tr>

<%
}
}
%>
展开
 我来答
yanhongyan1987
2012-12-04 · TA获得超过219个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:118万
展开全部
<input type="text" id="count" value="<%=goods.getCount()%>" size="1"/>你每个商品的数量都是这个,页面出现有多个id="count" 的input域

document.getElementById("count").value;当id是count的input唯一的时候才能取到正确的
<input type="text" id="<%=goods.getProId()%>_count" value="<%=goods.getCount()%>" size="1"/>

数量的Input的id可以换一下让他变成唯一的,例如 商品id,这样就唯一了

<a href="javascript:go('<%=goods.getProId()%>')">
<img src="img/changecount.gif" title="修改商品数量" border="0" width="15" height="15" style="position: relative;top:2px;"/>
</a>
每次调用go的时候把input的商品id传过去,
function go(proId){
var str;
str="changecount.jsp?count=";
str+=document.getElementById(proId+"count").value;
str+="&&";
str+="proId=";
str+="<%=goods.getProId()%>";
window.location=str;
}
这样应该就可以了,主要是因为你那个Input 的id重复了,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式