2

在我的 JSP 页面中,我想动态创建一个标签,该标签位于一个锚标签内。当我单击另一个锚标记时,我想使用 javascript 或 jquery 获取相应的标签文本。

这是我的 JSP 页面代码。

<body>
    <%
        for (int i = 0; i < sam.groupName.length; i++) {

            out.print("<a href='#'>");
            out.print("<img src='twoMen.jpg'/>");
            out.print("<label for='groupsId' id='labelId"+i+"'>"+ sam.groupName[i] + "</label>");
            out.print("</a>");

            out.print("<a href='javascript:void(0);' onclick='validation(this,"+i+");'>Edit</a>");

        }
    %>
</body>

Javascript代码:

function validation(anchor,i) {
        alert("Label value="+????);
    }
4

3 回答 3

1

快速回答:

function validation(anchor,i) {
    var value = $("#labelId"+i).text();
    alert("Label value= "+ value);
}

只需使用您拥有的标签的 ID,然后从中获取文本。

.text()将返回标签中的 TEXT 给您。如果该文本包含在另一个嵌套标记中,则不会。如果是这种情况,请使用.html()或指定您的 jQuery 选择器。

更新

我还想到了另一种解决方案,我认为这个会更简单:

<body>
<%
    for (int i = 0; i < sam.groupName.length; i++) {

        out.print("<a href='#'>");
        out.print("<img src='twoMen.jpg'/>");
        out.print("<label for='groupsId' id='labelId"+i+"'>"+ sam.groupName[i] + "</label>");
        out.print("</a>");

        out.print("<a href='javascript:void(0);' onclick='validation(this,'"+sam.groupName[i]+"');'>Edit</a>");

    }
    %>
</body>

那么您可以按如下方式使用验证功能:

function validation(anchor,value) {
    alert("Label value="+ value);
}

这也是一样的,但它传递的是你需要的值,而不是指向你需要的值的索引。除非您以后需要 i 索引来处理其他任何事情,否则这很有效。

于 2012-10-05T07:29:36.500 回答
0

给锚点说class1一些类,并使用jquery的live方法,

$(".class1").live("click",function(){
alert(this.html())
});
于 2012-10-05T07:30:05.893 回答
0

在这些情况下,最好的办法是查看最终代码是如何呈现的。但是,您可以从 ID 中获取它:

var myLabelId = 'labelId'+i;
var myLabel =   document.getElementById(myLabelId);
var myLabelValue = myLabel.innerText;
于 2012-10-05T07:30:07.447 回答