当用户点击下一个单元格时,如何获取表格中单元格的值?
<table id="registrarsTable">
<c:forEach items="${requestScope.AllUsers}" var="user" varStatus="loop">
<tr class="userRow">
<td class="numberWidth">${loop.index + 1}</td>
<td class="nameWidth user" id="${user.userno}">${user.fullName}</td>
<td>
<button name="DeactivateBtn" id="deactivate" class="deactivate btn">deactivate</button>
</td>
</tr>
</c:forEach>
在jquery中我想在用户点击停用按钮时从第二个td
获取属性“id”的值。
我这样做
var userNo = $('td.user', $(this).parents(".userRow")).attr('id');
并且喜欢这个
var userNo = $($(this).parent(".userRow") > "td").attr("id");
并且没有人工作!
答案 0 :(得分:1)
$('#deactivate').click(function() {
var userNo = $(this).parent().prevAll('td.user').attr('id');
});
从按钮(this
),遍历到父级(包含停用按钮的<td>
)。然后,使用类<td>
添加到上一个兄弟user
,并获取id
属性。
或者,如果您想避免依赖于用户名<td>
后停用按钮位于<td>
中的事实,您可以执行以下操作:
$('#deactivate').click(function() {
var userNo = $(this).closest('tr').find('td.user').attr('id');
});
通过<tr>
查找父closest
,然后<td class="user">
查找find
。
工作示例:http://jsfiddle.net/FishBasketGordo/Bk6ML/
API参考:
parent()
- http://api.jquery.com/parent prevAll()
- http://api.jquery.com/prevAll closest()
- http://api.jquery.com/closest find()
- http://api.jquery.com/find