0

(テーブルの)1つの列のすべての要素(テキストボックス)が同じクラスに属し、各テキストボックスに異なる一意のIDがあり、テーブルに複数の列と行があるhtmlテーブルがあります。テキストボックスの値が変更された場合、テキストボックスの値が変更された同じ行の他の列の値(位置の値)を返す必要があります。

<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 に答える