如何使用jquery将td元素修改为JSP中的超链接

时间:2012-07-03 10:54:28

标签: jquery jsp

在我的JSP页面中,我从ArrayList中的sql语句中获取值,该列表将作为表内容创建。此列表中的一组值为url。如何将此特定td元素(具有url的元素)转换为超链接操作项?

这是jsp代码

<table border="1" id="tableView">
    <thead>
        <th></th><th>ID</th><th>Name</th><th>Description</th><th>Active</th><th>Release Date</th><th>Url</th>
    </thead>

    <tbody>
    <%
    if(max==0)
    {
        %><tr><td></td><td colspan="5" class="viewa"><% out.println("No Records found."); %></td><%
    }
    else
    {

        for(int i=0;i<result.size();i++)
        {
            %><tr><td><input class="tablechkbox" type="radio" name="prodAlertsRad"/></td><%

            List r=new ArrayList();
            r=(List)result.get(i);
            for(int j=0;j<r.size();j++)
            {
                %><td class="viewa"><%out.print(r.get(j));%></td><%
            }
            %></tr><%
        } 
    }
    %>
    </tbody>
</table>

您可以在此处jsfiddle

进行测试

2 个答案:

答案 0 :(得分:1)

您需要对代码的这一部分进行更改。

for(int j=0;j<r.size();j++) 
{
   %><td class="viewa"><%out.print(r.get(j));%></td><%             
}

要使您的网址作为超链接工作,您需要在您的td内使用锚标记。此外,了解列表urlr所在的确切索引非常重要。因为在你的情况下,url位于最后一个索引处,我们可以通过这种方式修改代码 -

for(int j=0;j<r.size()-1;j++) //changed to size-1
{
   %><td class="viewa"><%out.print(r.get(j));%></td><%             
}
 %><td class="viewa"><a href="<%out.print(r.get(r.size()-1));%>"><%out.print(r.get(r.size()-1));%></a></td><%

您可能需要做一些小的处理以避免indexOutOfBoundException。我留下你这样做:)

答案 1 :(得分:1)

试试这个

for(int i=0;i<result.size();i++)
    {
        %><tr><td><input class="tablechkbox" type="radio" name="prodAlertsRad"/></td><%

        List r=new ArrayList();
        r=(List)result.get(i);
        for(int j=0;j<r.size();j++)
        {
            if(j==r.size()-1){%>
        <td class="viewa"><a href="<%out.print(r.get(j));%>"><%out.print(r.get(j));%></a>
    <%}else{
            %><td class="viewa"><%out.print(r.get(j));%></td><%}
        }
        %></tr><%
    }