获取父行的复选框

时间:2014-07-25 10:41:00

标签: jquery jquery-datatables

我的数据表中有一个复选框列。要记录任何更改,我已定义了一个on click事件。我还需要来自同一行的其他列数据。

<tr class="odd" role="row">
    <td class=" center">
        <input class="checkboxes" type="checkbox" value="1" checked="checked" name="row_check">
    </td>
    <td>2013-04-24 18:17:21</td>
    <td>1351710457</td>
</tr>

table.find('tbody').on( 'click', 'input', function ()
{
    var invite_id  = table.api().row(this.closest('tr')).data()[2]; // returns undefined
    // data processing after wards
});

closest()parent()函数始终返回undefined。在firefox中,firebug将这两个函数本身描述为undefined。

2 个答案:

答案 0 :(得分:1)

您需要使用jquery对象才能获取jquery方法。目前您正在使用dom对象。

this替换为$(this)

table.find('tbody').on('click', 'input', function() {
    var invite_id = table.api().row($(this).closest('tr')).data()[2];
});

答案 1 :(得分:0)

我会这样做,对我而言,链接比嵌套更可读。

table.find('tbody').on('click', 'input', function() {
    var invite_id = $(this).parents('tr').find('td:eq(2)').text();
});