2011-01-12 15 views
5

Tengo un problema con datable (http://www.datatables.net), jQuery y Firefox.Capturar evento después de ordenar en datable con jquery

Tengo una tabla de datos de jQuery (id="equipmentList") con un botón de arriba:

<html:button styleId="deleteButton" property="delete" value="<%= buttonDelete %>" disabled="disabled" /> 

cuando estoy clasificación de una columna en la tabla de datos, quiero desactivar un botón (el botón deleteButton), por lo que escribió este código:

$('#equipmentList th').click(function() { 
    hideButtonEditAndDelete(); 
}); 

function hideButtonEditAndDelete() { 
    $("#modifyButton").attr("disabled", "disabled"); 
    $("#deleteButton").attr("disabled", "disabled"); 

//fix for firefox 

if($.browser.mozilla){ 
    $("#modifyButton").addClass('ui-state-disabled'); 
    $("#deleteButton").addClass('ui-state-disabled'); 
}} 

Todo va bien hasta que la especie está llegando a su fin, ya que, después, mi botón está habilitado por jQuery; o algo mas. entonces estoy buscando evento de captura al final del orden de clasificación para deshabilitar mi botón

¿Alguna idea?

Muchas gracias de antemano

PS: Lo siento por mala Inglés

+0

@ user571627: hola, bienvenido a Stack Overflow; vale la pena tomarse un momento para leer la [página de ayuda de Markdown] (http://stackoverflow.com/editing-help/) y, si lo desea, para registrarse en el sitio (para que pueda usar su propio nombre, en lugar de user123456) =) –

Respuesta

7

Hay una devolución de llamada que se hace cada vez que la mesa se vuelve a dibujar y se puede acceder en la fnDrawCallback:

$('#someTable').dataTable({ 
     "fnInitComplete": function() { 
      // after table is intialised do something here 
     }, 
     "fnDrawCallback": function() { 
      // after table is redrawndo something here 
      console.log("redrawn"); 
     }, 
     "bDestroy": true, 
     "bAutoWidth": false, 
     "bPaginate": false, 
     "sScrollY": "242px", 
     "bLengthChange": false, 
     "bInfo": false, 
     "bFilter": false, 
     "aaSorting": [[2, 'asc']], 
     "aoColumns": [ 
      { "sSortDataType": "dom-checkbox", "sWidth": "3%" }, 
      { "bSortable": true, "sWidth": "8%" }, 
      { "bSortable": true, "sWidth": "10%" }, 
      { "bSortable": true, "sWidth": "15%" }, 
      { "bSortable": true, "sWidth": "8%" }, 
      { "bSortable": true, "sWidth": "9%" }, 
      { "bSortable": true, "sWidth": "6%" }, 
      { "bSortable": false, "sWidth": "2%" }, 
      { "bSortable": false, "sWidth": "7%" }, 
      { "bSortable": false, "sWidth": "13%" }, 
      { "bSortable": false, "sWidth": "2%" }, 
      { "bSortable": false, "sWidth": "7%" }, 
      { "bSortable": false, "sWidth": "10%" } 
     ] 
    }); 

Más información sobre devoluciones de llamada aquí:

http://datatables.net/usage/callbacks

Cuestiones relacionadas