web-dev-qa-db-ja.com

jQueryを使用してtdをクリックしてテーブルIDを取得します

いくつかの入力フィールドを含むテーブルヘッダーにtrがあります。

これらの入力フィールドの1つをクリックすることで、親テーブルのIDを取得する方法はありますか?

私のtrは次のようになります:

<table id="tableID">
    <thead>
        <tr>
            <th><input type="text" name="input1" id="input1" /></th>
            <th><input type="text" name="input2" id="input2" /></th>
            <th><input type="text" name="input3" id="input3" /></th>
        </tr>
    </thead>
    <tbody>
        // ...
    </tbody>
</table>
6
user2571510

クリックハンドラーでは、 。closest() を使用できます

$(this).closest('table').attr('id')

32
Arun P Johny
$("#tableID").on("click","input[type='text']",function(){

$(this).closest('table').attr('id');

});

参照最も近い()

2
Rituraj ratan

使用できます

$('#tdId').click(function(){
    $(this).parents('table').attr('id');
});

できます。

1
Meer

複数のハンドラーを回避するためにイベントを委任してから、delegateTargetを使用して現在のテーブルをターゲットにする必要があります。

$('table').on('click', 'input', function (e) {
    alert(e.delegateTarget.id);
});
1
A. Wolff