0

我有一张桌子:

<table>
<thead>
    <tr>
        <td>some1</td>
          ......
        <td>some2</td>
        <th>count</th>
        <th>EditCount</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>some1</td>
          ......
        <td>some2</td>
        <td>25</td>
        <td><input type='text' value='1'/></td>
   </tr>
   <tr>
        <td>some1</td>
          ......
        <td>some2</td>
        <td>35</td>
        <td><input type='text' value='3'/></td>
   </tr>

如何从每一行的输入中获取左侧的 td 值,例如当用户单击此输入时?

4

4 回答 4

3

(注意“左侧”,我认为这是第一个,td即最左边的一个)

试试这个 :

$('input[type=text]' ).change(function() {
  var firsttd = $('td:first', $(this).parents('tr'));
});

在 jQuery 中使用.change()方法(这可能是focusblur)。使用选择器td:first获取第一个td并将上下文设置为当前对象(input') parenttr`

这里的工作示例

更新

要获得前一个td(即使用值2535使用:

$('input[type=text]' ).change(function() {
  var prevtd = $(this).parent('td').prev('td');
});

这得到.parent() td然后是.prev() td

这里的工作示例

于 2012-04-11T08:08:58.713 回答
0

或者..像这样的东西

$('table input').click(function() {
    $(this).parent().css('border','1px solid #f00');
});

虽然我会用课程或其他东西对选择的人进行个性化,所以这并不常见

于 2012-04-11T08:12:47.133 回答
0

添加一个类,让假设'值'到所有左侧 tds 然后在输入上添加另一个类调用此函数

<script type = 'text/javascript'>
$('.button_class').click(function(){
        var myvalue = $(this).parent().children().attr(value);
});

这将自动选择第一个孩子,或者你也可以使用它

var myvalue = $(this).parent().eq(0).attr(value);
于 2012-04-11T08:13:33.470 回答
0

你习惯使用 jQuery 吗?如果是这样,那么您可以使用 jQuery 中的 prev() 函数来获取前一个兄弟(在这种情况下是前一个 td)

阅读:http ://api.jquery.com/prev/

于 2012-04-11T08:13:52.810 回答