2009-10-15 24 views
7

Estoy tratando de recuperar todas las filas desde una sección de <tbody> de una tabla, pero no estoy seguro de la sintaxis para hacerlo. He incluido un extracto de tabla ficticia a continuación y mi último intento para lograr la tarea con jQuery.Identificación de todas las filas dentro de una tabla <tbody> Elemento usando jQuery

extracto de la tabla: código

<tbody> 
<tr> 
    <th id="emergency" colspan="2">Emergency</th> 
</tr> 
    <tr> 
     <td>Emergency data</td> 
     <td>Emergency data</td> 
    </tr> 
    <tr> 
     <td>Emergency data</td> 
     <td>Emergency data</td> 
    </tr> 
</tbody> 
<tbody> 
<tr> 
    <th id="urgent" colspan="2">Urgent</th> 
</tr> 
    <tr> 
     <td>Urgent Data</td> 
     <td>Urgent Data</td> 
    </tr> 
    <tr> 
     <td>Urgent Data</td> 
     <td>Urgent Data</td> 
    </tr> 
</tbody> 

jQuery:

var emergencyRows = $table.find('#emergency').children().get(); 

Respuesta

8

Mi sugerencia es colocar los atributos de ID en el tbody en lugar de la primera fila de cada uno.

HTML

<table> 
    <tbody id="emergency"> 
     <tr> 
      <th colspan="2">Emergency</th> 
     </tr> 
     <tr> 
      <td>Emergency data</td> 
      <td>Emergency data</td> 
     </tr> 
     <tr> 
      <td>Emergency data</td> 
      <td>Emergency data</td> 
     </tr> 
    </tbody> 
    <tbody id="urgent"> 
     <tr> 
      <th colspan="2">Urgent</th> 
     </tr> 
     <tr> 
      <td>Urgent Data</td> 
      <td>Urgent Data</td> 
     </tr> 
     <tr> 
      <td>Urgent Data</td> 
      <td>Urgent Data</td> 
     </tr> 
    </tbody> 
</table> 

jQuery

var emergencyRows = $("tbody#emergency").find("tr:gt(0)"); 
var urgentRows = $("tbody#urgent").find("tr:gt(0)"); 

El fragmento jQuery obtendrá todas las filas respectivas, con la excepción de las primeras filas.

2

Probar:

var emergencyRows = $("th#emergency").parent().parent().find("tr:gt(0)"); 

que debe conseguir que todas las filas que no son la fila de encabezado .

4

Este es probablemente el más limpio

$('#emergency').closest('tbody').children(); //only returns first child element, so the <tr>'s 
3

de su ejemplo, parece que es posible que desee "todas las filas excepto la que contiene #emergency". Si ese es el caso, puede utilizar el siguiente:

$('#emergency').closest('tr').siblings();

Tenga en cuenta que #emergency no necesita ser un <tr /> nada o <th /> o en particular. Podría ser cualquier elemento dentro de una celda de tabla.

10

Puede utilizar el siguiente cuadro si conoce la identificación de la tabla.

var trs = $("#tableid").find("tbody>tr"); 
+0

Si hemos aplicado paginación, entonces, ¿cómo puedo obtener otros datos de la página, además de la página actual. –

+0

Pude encontrar una solución para obtener todos los registros en páginas paginadas. –

1

que fue capaz de encontrar una solución para obtener todos los registros de pages.You paginado también puede probar esto.

var userList = $("#user-grid").dataTable().fnGetNodes();

Cuestiones relacionadas