JSP页面中用javascript来计算2个输入框的值。如图当我输入第二个数量的时候。后面的合计就没有。

</td> </tr> <% //QueryData qd = new QueryData(); if (qd != null) { for (int i = 0; i < qd.getSID().size(); i++) { %> <tr> <td align="center"><%=qd.getSTID().get(i)%></td> <td align="center"><%=qd.getSNAME().get(i)%></td> <td class=cardEvenlineLabel colspan="3" align="center"> <input type="text" name="SPRICE" readonly="readonly" class=defaultInput value="<%=qd.getSPRICE().get(i)%>"> </td> <td align="center"> <input type="text" name="commont" class=defaultInput onchange="onclick_cmdok1();"> </td> <td align="center"> <div id="sum"></div> </td> <td align="center"> 预定 </td> </tr> <% } } %> </table></form> </body></html>

这个是循环的代码、

<div id="sum"></div> 这里循环定义了一个id=“sum”,html中id是不能重复的,而你在onchange="onclick_cmdok1();" 中,肯定是给这个id赋值的,所以每次赋值就在同一个位置了,也就是只出现一处了

我想应该是这样吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-20
不是很清楚啊。
onchange="onclick_cmdok1();"

这个是触发?那js代码呢?
具体情况是什么,js报错了吗?
第2个回答  2012-12-21
循环没错,就看你js事件里的内容了,同楼上说的id也有可能
id='sum"+i+"'
相似回答