发布网友 发布时间:2024-10-24 15:16
共3个回答
热心网友 时间:2024-11-18 09:41
jsp页面中用javascript取while循环中隐藏域的值 值能取到一个
两种方法:
1
<%
for(int i=0;i<100;i++){
%>
<input id="id<%=i%>" value="...."/>
<input id="name<%=i%>" value="...."/>
<%
}
%>
这样的话,第个ID都是不同的,可以定位到。
另外,可以用相对定位的方法
2,下面是我以前写的一个例子,你保存为html文件,运行看看,也比较容易
<table id="1" border=1>
<tr >
<td nowrap="true">删除</td>
<td nowrap="true">产品</td>
<td nowrap="true">折扣</td>
<td nowrap="true">优惠价</td>
<td nowrap="true">数量</td>
<td nowrap="true">总金额</td>
<td nowrap="true">备注</td>
</tr>
<tr type="data">
<td><input type="checkbox"></td>
<td nowrap="true"><span><input type="text" name="PRODID" value="XXXX" nullable="0" itemdesc="产品" />
</td>
<td nowrap="true"><span><input type="text" name="DISCOUNT" value="" nullable="0" itemdesc="折扣" />
</td>
<td nowrap="true"><span><input type="text" name="PRICE" value="100" nullable="0" itemdesc="优惠价" />
</td>
<td nowrap="true"><span><input type="text" name="COUNT" value="1" itemdesc="数量" onkeyup="getTotalPrice(this)"/></span>
</td>
<td nowrap="true"><span><input type="text" name="TOTALPRICE" value="100" itemdesc="总金额"/>
</td>
<td>备注</td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="1" class="button" type="button" value="增加" onclick="。。。。">
</td>
<tr>
</table>
<script type="text/javascript">
function getTotalPrice(obj){
var c1 = obj.parentNode.parentNode.parentNode.childNodes[3].childNodes[0].childNodes[0].value;
var c2 = obj.parentNode.parentNode.parentNode.childNodes[4].childNodes[0].childNodes[0].value;
obj.parentNode.parentNode.parentNode.childNodes[5].childNodes[0].childNodes[0].value = parseInt(c1) * parseInt(c2);
}
</script>
热心网友 时间:2024-11-18 09:42
ID重复了。页面上元素的ID原则上是不允许重复的,如果有重复用getElementById只能得到一个。建议你用for替换while给循环里的多个隐藏域加上不同的ID,或者用class,然后自己写一个getElementsByClassName方法
热心网友 时间:2024-11-18 09:43
同ls。