2010-03-09 14 views

Respuesta

36

EDITAR (dos años después): Por favor, no hacerlo de la manera que he descrito anteriormente, es una pérdida total, como filas de la tabla ya tienen una propiedad rowIndex, por lo que simplemente no hay necesidad de calcular cualquier cosa:

$('#selectElemID').live("change", function(){ 
    alert($(this).closest("tr")[0].rowIndex); 
}); 

Demo.

<silliness>

Esto debe hacerlo, si desea que el número de fila del elemento de selección actual (que es lo que entiendo de la pregunta):

$('#selectElemID').live('change', function(){ 
    alert($(this).closest("tr").prevAll("tr").length + 1); 
}); 

Para explicar:

$(this).closest("tr") 

significa seleccionar el padre más cercano tr de este elemento de selección.

.prevAll("tr").length + 1 

significa seleccionar todos los filas anteriores, y tráeme la longitud de la colección devuelta. Increméntelo por uno para obtener el número de fila actual, porque estamos en filas previas totales + 1.

Para más información:

</silliness>

+1

+1 para eleganc e :-) –

+0

@henchman, gracias señor! – karim79

+0

muchas gracias! estaba buscando esto ..:) – Vicer

2

también:

$('#selectElemID').live('change', function(){ 
    alert($(this).closest("tr")[0].rowIndex); 
}); 
Cuestiones relacionadas