如何从tbody jquery中找到clicked tr

时间:2013-06-17 15:03:24

标签: javascript jquery html

这是我的html表

<table>
    <thead>
        <tr>
            <td class="td20"><h3>Patient Name</h3></td>
            <td class="td20"><h3>Summary</h3></td>
            <td class="td20"> <h3>Created</h3></td>
            <td class="td20"><h3>Last visit</h3></td>
            <td class="td20"> <h3>Refer to a Doctor</h3></td>
        </tr>
    </thead>
    <tbody id="patient_table">
        <tr id="1">
            <td class="td20">Patient Name</td>
            <td class="td20">Summary</td>
            <td class="td20">Created</td>
            <td class="td20">Last visit</td>
            <td class="td20">Refer to a Doctor</td>
        </tr>
        <tr id="2">
            <td class="td20">Patient Name</td>
            <td class="td20">Summary</td>
            <td class="td20">Created</td>
            <td class="td20">Last visit</td>
            <td class="td20">Refer to a Doctor</td>
        </tr>
    </tbody>
</table>

这是我的剧本:

$("#patient_table").click(function(e) {
    var id = $(this).children('tr').attr('id');
    alert(id);
});

<tr>内动态生成<tbody>。 我需要点击id本身找到<tr> <tr>。 使用该脚本,我总是得到第一个<tr> id,而不管第二个<tr>点击。

1 个答案:

答案 0 :(得分:3)

请改用:

$("#patient_table").on('click','td',function (e) {
    var id = $(this).closest('tr').attr('id');
    alert(id);
});

<强> jsFiddle example

由于您提到了动态生成的行,因此您希望使用.on()将事件处理委派给表格单元格。

相关问题