在我的 JSP 页面中,我想动态创建一个标签,它位于一个 achor 标签内。当我点击另一个 anchor 标签时,我想使用 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="+????);
}
最佳答案
快速回答:
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 索引用于其他任何事情,否则这是有效的。
关于javascript - 当我使用 javascript 从 anchor 标记单击时,如何获取动态创建的标签的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12741520/