Jquery id返回未定义

时间:2018-06-03 10:34:22

标签: javascript java jquery jsp

我正在尝试获取表格中所选行的ID。

根据foodList(JSP页面)中的对象数生成行。

JSP代码

<tbody>
  <c:forEach items="${foodList}" var="det">
    <tr class="clickable-row">
      <td class="pt-0 pb-0"><button id="${det.b_No}" style="font-size:8px" class="btn btn-danger delete btn-sm pt-1 pb-1 mb-0" data-title="Delete"></button></td>
      <td><input type="text" class="form-control" value="${det.wt}" /></td>
  </c:forEach>

  </tr>
  </c:forEach>
</tbody>

JavaScript代码

$('#table_id').on('click', '.clickable-row', function(event) {
  alert($(this).find(".pt-0").html());
  alert($(this).find(".pt-0").attr("id"));
});

第一个警报显示如下所示的文本,这是预期的,

<button id="1015" style="font-size:8px" class="btn btn-danger delete btn-sm pt-1 pb-1 mb-0" data-title="Delete"></button>

但是对于第二个警报,我期待id(1015),但显示为&#34; undefined&#34;。

1 个答案:

答案 0 :(得分:2)

id在按钮元素中,因此请使用:

alert($(this).find(".pt-0").find("button").attr("id"));

或直接访问

alert($(this).find(".pt-0 button").attr("id"));

见下面的代码:

$('#table').on('click', '.clickable-row', function(event) {
  alert($(this).find(".pt-0").html());
  alert($(this).find(".pt-0 button").attr("id"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table">
  <tr class="clickable-row">
    <td class="pt-0 pb-0"><button id="1508" style="font-size:8px" class="btn btn-danger delete btn-sm pt-1 pb-1 mb-0" data-title="Delete">del</button></td>
  </tr>
</table>