在diplaying然后到我的Popup jsp之前,我使用arraylist获取链接值。我应该在点击链接后获取文本并将其传递给父页面...无论我做什么,传递给Parent Jsp的值只是数组中的第一个值:
我的 POPUP.Jsp :
<%
ArrayList all = Locations.getAllLocations();
int size = all.size();
%>
<%
for (int i = 0; i < size; i++) {
ArrayList one = (ArrayList) all.get(i);
%>
<tr style="height:30px; padding:4px;">
<td><div align="center"><a href="" onclick="getTownValue()" id="tname"><%=(String) one.get(0)%></a></div></td>
<td><div align="center"><%=(String) one.get(1)%></div></td>
<td><div align="center"><%=(String) one.get(2)%></div></td>
</tr>
<% }%>
显示工作正常但每当我点击链接时,我只获得数组中的第一个值。我该怎么办?
修改
我的JAvascript:
<script type="text/javascript">
function getTownValue() {
var t = document.getElementById('tname').innerHTML; //for innerhtml
window.opener.document.form1.location.value = t;
window.close();
}
</script>
答案 0 :(得分:1)
您拥有数组中的第一个值,因为您的所有链接都具有相同的ID“tname”。当你点击链接 - javascript fill找到所有ID为“tname”的链接并获得第一个。
答案 1 :(得分:1)
是的,你必须使用这个关键字来获得链接的个别价值。
使用以下代码:
<%
ArrayList all = Locations.getAllLocations();
int size = all.size();
%>
<%
for (int i = 0; i < size; i++) {
ArrayList one = (ArrayList) all.get(i);
%>
<tr style="height:30px; padding:4px;">
<td><div align="center"><a href="" onclick="getTownValue(this)" id="tname"> <%=(String) one.get(0)%></a></div></td>
<td><div align="center"><%=(String) one.get(1)%></div></td>
<td><div align="center"><%=(String) one.get(2)%></div></td>
</tr>
<% }%>
请替换此Javascript:
<script type="text/javascript">
function getTownValue(ths) {
var t = ths.innerHTML; //for innerhtml
window.opener.document.form1.location.value = t;
window.close();
}
</script>
我在这里使用过&#34; ths&#34;获得个人链接的价值。 我希望它会对你有所帮助。