It can be quite useful at times to provide the user with the option to select rows in a DataTable. In this example we use standard jQuery 'click' events to add a class to table rows to indicate that they have been selected. Note that we use oTable.$() when working with rows in the table to ensure that all rows are considered, regardless of paging and filtering.
Rendering engine | Browser | Platform(s) | Engine version | CSS grade |
---|---|---|---|---|
Rendering engine | Browser | Platform(s) | Engine version | CSS grade |
Gecko | Firefox 1.0 | Win 98+ / OSX.2+ | 1.7 | A |
Gecko | Firefox 1.5 | Win 98+ / OSX.2+ | 1.8 | A |
Gecko | Firefox 2.0 | Win 98+ / OSX.2+ | 1.8 | A |
Gecko | Firefox 3.0 | Win 2k+ / OSX.3+ | 1.9 | A |
Gecko | Camino 1.0 | OSX.2+ | 1.8 | A |
Gecko | Camino 1.5 | OSX.3+ | 1.8 | A |
Gecko | Netscape 7.2 | Win 95+ / Mac OS 8.6-9.2 | 1.7 | A |
Gecko | Netscape Browser 8 | Win 98SE+ | 1.7 | A |
Gecko | Netscape Navigator 9 | Win 98+ / OSX.2+ | 1.8 | A |
Gecko | Mozilla 1.0 | Win 95+ / OSX.1+ | 1 | A |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | var oTable; $(document).ready( function () { /* Add a click handler to the rows - this could be used as a callback */ $( "#example tbody tr" ).click( function ( e ) { if ( $( this ).hasClass( 'row_selected' ) ) { $( this ).removeClass( 'row_selected' ); } else { oTable.$( 'tr.row_selected' ).removeClass( 'row_selected' ); $( this ).addClass( 'row_selected' ); } }); /* Add a click handler for the delete row */ $( '#delete' ).click( function () { var anSelected = fnGetSelected( oTable ); if ( anSelected.length !== 0 ) { oTable. fnDeleteRow ( anSelected[0] ); } } ); /* Init the table */ oTable = $( '#example' ).dataTable( ); } ); /* Get the rows which are currently selected */ function fnGetSelected( oTableLocal ) { return oTableLocal.$( 'tr.row_selected' ); } |