我的数据表中有一个复选框列。要记录任何更改,我已定义了一个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。
答案 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();
});