使用javascript从链接列表中获取链接名称

时间:2016-03-21 07:05:56

标签: javascript java jsp

在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>

2 个答案:

答案 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;获得个人链接的价值。 我希望它会对你有所帮助。