我有下表。我想将选择的行上的Id值复制到文本框中。如果我点击第一行中的“选择”链接,文本框值将为0001.
如果需要修改表格以获得更好,更快的结果,请留下您的建议。
<div>
<input id="selectedId" type="text" />
</div>
<table cellspacing="1" class="tablesorter" id="nameList">
<thead>
<tr>
<th class="header">Name</th>
<th class="header">Id</th>
<th class="header">Gender</th>
<th>Select</th>
</tr>
</thead>
<tbody>
<tr>
<td>Akom Smith</td>
<td>0001</td>
<td>M</td>
<td><a href="#" class="click-to-select">Select</a></td>
</tr>
<tr>
<td>Amara Sahara</td>
<td>0002</td>
<td>F</td>
<td><a href="#" class="click-to-select">Select</a></td>
</tr>
<tr>
<td>John Lache</td>
<td>0003</td>
<td>M</td>
<td><a href="#" class="click-to-select">Select</a></td>
</tr>
</tbody>
</table>
答案 0 :(得分:4)
试试这个,
$('a.click-to-select').click(function() {
var id = $(this).closest('tr').find('td').eq(1).text();
$('#selectedId').val(id);
return false;
});
为下面的评论添加了注释。
$('a.click-to-select').click(function() {
var id = $(this).closest('tr').find('td.id').text();
$('#selectedId').val(id);
return false;
});
答案 1 :(得分:0)
嗯,你知道你的密钥是行中的第二个td。您可以使用:nth-child选择器,如下所示:
<script type="text/javascript">
var getUniqueId = function() {
return $('td:nth-child(2)').text();
}
</script>
当然你需要一种方法来识别正确的,但我认为应该从每个人调用代码,你可以使用父选择器。
否则我会在每一行中添加一个id属性,以便更容易选择。