2013-04-08 20 views
11

Devo seguire il codice per mostrare la mia tabella utente, questo è realizzato da JTable.jQuery-JTable: aggiungi evento click per riga?

<script type="text/javascript"> 
    $(document).ready(function() {    
     $('#userTableContainer').jtable({ 
      title: 'Users', 
      selecting: false, 
      paging: true, 
      pageSize: 15, 
      sorting: true, 
      addRecordButton: false, 
      saveUserPreferences: false, 
      create: false, 
      edit: false, 
      actions: { 
       listAction: 'user/getUsers.htm', 
      }, 
      fields: { 
       username: { 
        title: 'username' 
       }, 
       firstname: { 
        title: 'firstname' 
       }, 
       lastname: { 
        title: 'lastname' 
       }, 
       company: { 
        title: 'company' 
       } 
      } 
     }); 
     $('#userTableContainer').jtable('load');    
    });  

</script> 

<div id="content"> 
    <h1>Users</h1>  

    <br /> 
    <div id="userTableContainer"> 

    </div> 
</div> 

È possibile aggiungere un evento di azione personalizzato per ogni riga? In modo da poter inviare una richiesta come "user/showUser.htm" al mio controller.

+0

si vuol dire aggiungere un pulsante o qualcosa da una riga? E aprire una finestra popup con i dettagli dell'utente sul clic? –

+0

un'azione alla riga, che aprirebbe i dettagli dell'utente o qualcosa del genere. non deve essere neanche un popup, può anche essere solo una nuova pagina, non importa davvero –

risposta

12

Questo dovrebbe ottenere il vostro cammino:

$('#userTableContainer').jtable({ 
    .... 
    recordsLoaded: function(event, data) { 
     $('.jtable-data-row').click(function() { 
      var row_id = $(this).attr('data-record-key'); 
      alert('clicked row with id '+row_id); 
     }); 
    } 
}); 
+0

GRAZIE !!! Funziona come charm =) –

+0

puoi dirmi che come accedere a tutti i valori delle celle di una particolare riga. Come il codice sopra riportato fornisce solo il valore della colonna che è la chiave. –

+2

@ user1334573 è passato molto tempo da quando ho lavorato con jtable. prova a chiamare 'console.log (dati)' nella funzione 'recordsLoaded', e dai un'occhiata a quali dati sono disponibili per lavorare. Ho la sensazione che tutti i record saranno disponibili nell'oggetto 'data'. Anche la funzione 'getRowByKey()' potrebbe tornare utile .. http://www.jtable.org/apireference#met-getRowByKey –