如何在jsp中获取函数内部链接的名称

时间:2015-04-16 07:16:26

标签: jsp

我有一个jsp代码,我使用锚标记调用javascript函数。我的问题是假设有几个链接然后通过点击任何链接我想要获取被点击的链接的名称并在javascript函数中显示它。我的代码如下:

<%@include file="dbconnection.jsp"%>
<%@ page trimDirectiveWhitespaces="true" %>

<HTML>

<HEAD>
<TITLE>
</TITLE>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

</HEAD>

<BODY>
<H1></H1>
<script>
function displayData(ctr) {

switch (ctr) {

case 1:
$("a").hide();
<%ResultSet rs = statement.executeQuery("select value from categoryAttributeTable;") ;  %>
<% 
int c=0; %>
$('#myDiv').append('<A1> Broadcast Video--> </A1>');
<% while(rs.next()){ 
    String link=rs.getString(1);
    c++;
%>
$('#myDiv').append('<table><tr><td>');
$('#myDiv').append('<first>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A id="disp" HREF ="javascript:NextData(<%=c%>)"><%=link%></A> </first>');
$('#myDiv').append('</td></tr></table>');
<% } %>
$('#myDiv').append('<table><tr><td>');
$('#myDiv').append('<Button1><INPUT TYPE="button" VALUE="Back" onClick="$(\'a\').show();;$(\'#myDiv\').empty();"></Button1>');
$('#myDiv').append('</td></tr></table>');
$('#myDiv').append('<div id="Myd"></div>');
break;

case 2:
 break;

 }
}

</script>

 <TABLE>



<%ResultSet resultset = statement.executeQuery("select DISTINCT title from categoryInfoTable where CID in(select CID from categoryConfigTable where parentCID = 'NULL');") ;%>
        <% 
        int counter=0;
         while(resultset.next()){ 
            String link=resultset.getString(1);
            counter++;
        %>
        <TR>
           <TD>
           <a id = "display" onclick="javascript:displayData(<%=counter%>);" href="#"><%=link%></a> 
           </TD> 
        </TR>
        <% } %>


 </TABLE>

<div id="myDiv"></div>

</BODY>

</HTML>

这里我将<%=link%>传递给锚标记。我想获取点击哪个链接并在我调用函数时显示它。在上面的函数中,我手动给出了$('#myDiv').append('<A1> Broadcast Video--> </A1>');。 但我不想手动给它。任何人都可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

如果我正确理解了您的要求,您可以在锚点上添加点击监听器(使用jQuery),并通过在链接中包含自定义属性,您可以获得点击锚点的属性像这样:

$("#outer a").on("click", function () {
    alert($(this).text() +" has data attribute : "+$(this).attr('customAttribute'));
});

请参阅此fiddle

希望有所帮助

答案 1 :(得分:0)

这会给你&lt;%= link%&gt;点击链接的值。

$("#display").on("click", function () {
    alert($(this).html());
}); 

编辑:

  1. 从锚标记中删除onclick属性。
  2. 添加&#34;数据&#34;锚标记中的属性并在此属性中设置计数器值而不是onclick。
  3. 在标记内添加以下代码。

    '$'(document).ready(function () {
        '$'("#display").on("click", function () {
            var linkName = '$'(this).html();
            var counter = '$'(this).attr("data");
        }); 
        //Call displayData function here and pass counter and linkName variables
    });