从表行中查找下一个输入值

时间:2012-09-24 11:00:19

标签: jquery jquery-selectors

我有一些包含一些代码的表数据:

<tr>
  <td><input type='text' class='ACode' value='3400' /></td>
  <td><input type='text' class='DCode' value='100' /></td>
<tr>
<tr>
  <td><input type='text' class='ACode' value='3000' /></td>
  <td><input type='text' class='DCode' value='130' /></td>
<tr>
<tr>
  <td><input type='text' class='ACode' value='2500' /></td>
  <td><input type='text' class='DCode' value='110' /></td>
<tr>

当我想使用jQuery访问ACode下一个输入值时:

$('.ACode').change(function(){
  var that = $(this);
  var DCode =  that.next('.DCode').val();
});

它没有显示值。

2 个答案:

答案 0 :(得分:2)

请尝试以下方法:

var DCode =  that.parent().next().find('.DCode').val();

.ACode 有兄弟姐妹,因此.next()没有得到任何东西,因为它只返回紧随其后的兄弟姐妹。相反,您应该转到确实有一个兄弟的父td,使用.next()转到下一个td,然后找到.DCode

<强> DEMO

答案 1 :(得分:0)

我建议:

$('.ACode').change(function(){
    var that = $(this),
        DCode =  that.closest('tr').find('.DCode').val();
});

参考文献: