0

我有一个 html 表,其中一列(表)的所有元素(文本框)属于同一个类,每个文本框都有不同的唯一 ID,并且表有多个列和行。如果文本框值发生更改,它应该返回文本框值更改的同一行的另一列值(位置值)。

<tr style="background-color: rgb(200, 200, 200);" id="node-13600" class="child-of-node-0 row byte_lenght_1 initialized">
    <td style="padding-left: 34px;">terminat</td>
    <td style="padding-left: 15px">format</td>
    <td style="padding-left: 15px">
        <input class="main_text" id="main_type_13600">
    </td>
    <td class="length" style="padding-left: 15px">1</td>
    <td class="position" style="padding-left: 15px">0</td>
    <td style="padding-left: 15px">HTermin
        <input type="hidden" name="row" value="13600">
    </td>
</tr>
<tr style="background-color: rgb(200, 200, 200);" id="node-13601" class="child-of-node-0 row byte_lenght_1 initialized">
    <td style="padding-left: 34px;">termin</td>
    <td style="padding-left: 15px">wc_type</td>
    <td style="padding-left: 15px">
        <input class="main_text" id="main_type_13601">
    </td>
    <td class="length" style="padding-left: 15px">1</td>
    <td class="position" style="padding-left: 15px">1</td>
    <td style="padding-left: 15px">##: eph ##: tdm_c ##: all_c ##: choose_c ##: root_c
        <input type="hidden"
        name="row" value="13601">
    </td>
</tr>

我为此使用jquery:

$('.main_text').change(function() {
  var a= $(this).find('.position').val();
  alert (a);
});

但是我没有得到任何结果,正如预期的那样!

4

1 回答 1

3

我很确定这就是你要找的东西:

$('.main_text').change(function() { 
    alert($(this).parent().parent().find('.position').html()); 
});

“.find”在您指定的元素内查找元素。所以它在“.main_text”中寻找“.position”

此外,我已将“.val()”更改为“.html()”,因为 val 用于检索输入字段的值,并且您正在尝试检索表格单元格的 html 内容。

希望这有帮助。

干杯,

TJ

于 2013-03-06T09:35:15.200 回答