Javascript 在每个<;td>;使用AJAX/JQUERY创建从JSP生成的表

Javascript 在每个<;td>;使用AJAX/JQUERY创建从JSP生成的表,javascript,java,jquery,html,ajax,Javascript,Java,Jquery,Html,Ajax,我有一个充满描述和id号的数据库,表中填充了它们,如下所示: index.jsp <table> <tr> <td>Name:</td> <td>Id:</td> </tr> <c:forEach items="${employee}" var="employee"> <tr> <td&g

我有一个充满描述和id号的数据库,表中填充了它们,如下所示:

index.jsp

<table>
    <tr>
        <td>Name:</td>
        <td>Id:</td>
    </tr>
    <c:forEach items="${employee}" var="employee">
        <tr>
            <td><c:out value="$employee.description"></c:out></td>
            <td class="id-value" id="id"><c:out value="$employee.id"></c:out></td>
        </tr>
        </c:forEach>
</table>
当页面加载时,id列中充满了所有正确的id号,但它们都有相同的名字和姓氏(第一个id的名字/姓氏)

我如何才能使其对该列中的每个值进行调用

json响应

 {FNAME: "FIRSTNAME", LNAME: "LASTNAME"}

看起来你需要得到这样的元素列表

$("td[id='id']").each(function(e) {
  var elem = $(this)
  var id = elem.text();
  $.ajax({
    type: 'GET',
    url: serviceUrl + id,
    cache: true,
    success: function(data) {
      $.map(JSON.parse(data), function(item) {
      elem.append(' ' + item.FNAME + ' ' + item.LNAME);
  });
})

所有带有id的
元素对于
id
属性都具有相同的值。这可能是根本原因。@Ivan更改id的名称并没有改变任何东西。您将其更改为什么@Ivan的观点是,您所有的行都有相同的id,不管是什么。@dDewness我将id更改为#test id,但我只是在希望附加服务调用值的单行上声明一个id。问题是服务只被调用一次,并重复它找到的第一个id的值,而不是对每行中的每个id进行调用。我不知道怎样才能做到。太棒了!这很有效。我现在在浏览器控制台中遇到“elem.append不是函数”错误。有解决方法吗?@Evan,奇怪,我已经用jQuery3.3.1检查过了,它是有效的。您可以在该行上设置断点并检查
elem
@Evan的可用方法,您可以尝试使用
elem.text(elem.text()++'+item.FNAME++'+item.LNAME)但你最好使用调试器来检查出了什么问题。我会尝试一下,看看错误是否消失,然后接受这个答案,因为它确实解决了我的问题。谢谢
$("td[id='id']").each(function(e) {
  var elem = $(this)
  var id = elem.text();
  $.ajax({
    type: 'GET',
    url: serviceUrl + id,
    cache: true,
    success: function(data) {
      $.map(JSON.parse(data), function(item) {
      elem.append(' ' + item.FNAME + ' ' + item.LNAME);
  });
})