Ahora soy algo así como la implementación de this post (en concreto, el efecto se produce cuando se hace clic en la fila)¿Cómo saber el índice de <tr> dentro de <table> con jQuery?
¿Cómo sé cuál es el índice de la fila está dentro de la mesa?
Ahora soy algo así como la implementación de this post (en concreto, el efecto se produce cuando se hace clic en la fila)¿Cómo saber el índice de <tr> dentro de <table> con jQuery?
¿Cómo sé cuál es el índice de la fila está dentro de la mesa?
Si ha definido el controlador de clic directamente sobre las tr
elementos, puede utilizar el método index
así:
$('#tableId tr').click(function() {
var rowIndex = $('#tableId tr').index(this); //index relative to the #tableId rows
});
Si el evento de clic está obligado a no directamente sobre el elemento tr
(si está utilizando una ancla, un botón, etc ...), usted debe encontrar el más cercano tr
para obtener el índice derecho:
$(selector).click(function() {
var rowIndex = $('#tableId tr').index($(this).closest('tr'));
return false;
});
probar un ejemplo here.
esto no funcionará bien si la página tiene varias tablas. Probablemente sea mejor buscar elementos hermanos '
¿No debería el selector de la llamada $ .index() restringirse a la tabla primaria de cualquier TR en que se haya hecho clic, en lugar de una etiqueta de tabla genérica? – Sampson
@TM, @Jonathan: era un error tipográfico, restringido a un elemento '# tableId' – CMS
Esto debería funcionar:
No es necesario
tr
en la llamada asiblings
si está seguro será bien formado su html.Fuente
2009-12-07 06:34:49
Para responder a su primera pregunta:
Si usted acaba de hacer:
y tiene múltiples tablas de la página, obtendrá un resultado erróneo.
Dicho esto, no necesita saber el índice para mover las filas hacia arriba y hacia abajo en una tabla. Por ejemplo:
con algo como:
Fuente
2009-12-07 06:35:14 cletus
Buen punto, en realidad no necesita el índice en absoluto. –
Cuestiones relacionadas