いくつかの入力フィールドを含むテーブルヘッダーに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>
クリックハンドラーでは、 。closest() を使用できます
$(this).closest('table').attr('id')
$("#tableID").on("click","input[type='text']",function(){
$(this).closest('table').attr('id');
});
参照最も近い()
使用できます
$('#tdId').click(function(){
$(this).parents('table').attr('id');
});
できます。
複数のハンドラーを回避するためにイベントを委任してから、delegateTarget
を使用して現在のテーブルをターゲットにする必要があります。
$('table').on('click', 'input', function (e) {
alert(e.delegateTarget.id);
});