将单元格值从表复制到文本框

时间:2010-09-21 07:42:19

标签: javascript jquery html jquery-selectors

我有下表。我想将选择的行上的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>

2 个答案:

答案 0 :(得分:4)

试试这个,

$('a.click-to-select').click(function() {
    var id = $(this).closest('tr').find('td').eq(1).text();
    $('#selectedId').val(id);
    return false;
});​

simple cool demo

为下面的评论添加了注释。

$('a.click-to-select').click(function() {
    var id = $(this).closest('tr').find('td.id').text();
    $('#selectedId').val(id);
    return false;
});​

updated demo

答案 1 :(得分:0)

嗯,你知道你的密钥是行中的第二个td。您可以使用:nth-​​child选择器,如下所示:

<script type="text/javascript">
var getUniqueId = function() {
     return $('td:nth-child(2)').text();
}
</script>

当然你需要一种方法来识别正确的,但我认为应该从每个人调用代码,你可以使用父选择器。

否则我会在每一行中添加一个id属性,以便更容易选择。