Jquery 单击时选择DataTables行

Jquery 单击时选择DataTables行,jquery,datatables,Jquery,Datatables,我一直在玩datatables.net,我的表现在从json对象数组加载数据。现在我想做的是,当有人单击一行时,获取其中一个对象(只是一个属性)的ID,这样我就可以打开一个对话框 我发现了一种笨拙的机制,使用fnRowCallback将ID作为属性加载到TR元素中,但当对行进行排序时,这种机制会中断 var tableData = [ { id: 196402, name: "Joe Bloggs", age: 25, gender: "Male"},

我一直在玩datatables.net,我的表现在从json对象数组加载数据。现在我想做的是,当有人单击一行时,获取其中一个对象(只是一个属性)的ID,这样我就可以打开一个对话框

我发现了一种笨拙的机制,使用fnRowCallback将ID作为属性加载到TR元素中,但当对行进行排序时,这种机制会中断

var tableData = [
            { id: 196402, name: "Joe Bloggs", age: 25, gender: "Male"},
            { id: 257820, name: "Jane Bloggs", age: 22, gender: "Female"},
            { id: 33025, name: "Sam Smith", age: 27, gender: "Female"}
        ];


oTable = $('#MyTable').dataTable({ "aaData": tableData,
            "aoColumns":
                [
                    {"mData": "name"},
                    {"mData": "age"},
                    {"mData": "gender"}
                ],
            "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                $(nRow).attr('id', aData.id); // this breaks if the grid is sorted!
            }
            });

            $("#MyTable tbody tr").click( function( e ) {               
                alert($(this).attr('id'));
            });
有更好的方法吗?

来自:

我喜欢数据表,但花点时间学习它们真的很值得。。。我还有很长的路要走;-)

希望有帮助

D

$('#example tbody td').click( function () {
    // Get the position of the current data from the node
    var aPos = oTable.fnGetPosition( this );

    // Get the data array for this row
    var aData = oTable.fnGetData( aPos[0] );

    // Update the data array and return the value
    aData[ aPos[1] ] = 'clicked';
    this.innerHTML = 'clicked';
  } );