5
Tengo una tabla que contiene 3 columnas. Necesito vincular un evento que se active siempre que se haga clic en una de esas columnas con jQuery.Índice de elementos, jQuery o Javascript
Sin embargo, necesito saber el índice de la columna en que se hizo clic.
es decir: La primera columna (índice 0), segunda columna (índice 1), tercera columna (índice 2), y así sucesivamente ...
¿Cómo puedo hacer eso?
var FIRSTROW:
var firstRow = $("tr:first > th", "table[id*=Grid]");
Echale un vistazo:
firstrow.click(function(e){
//var id = e.target.index;
var id = $(e).parent().children().index(this);//returns -1
})
lo que está 'firstrow'? el '
firstrow, tome todos los elementos "
Respuesta
Usted puede hacer esto utilizando
.index()
(que es 0 en base), así:Fuente
2010-04-05 17:37:25
no lo creo, porque estoy tratando de hacer esto con la función (e) {} .es decir: e.target.index – ozsenegal
@ozsenegal - funciona, pruébelo:) http://jsfiddle.net/F5ALE/ –
no, eso no es todo. Es awalys el que devuelve "-1". – ozsenegal
Podría ser una mejor idea para utilizar javascripts nativos
.rowIndex
en lugar de jQuerys.index
. jQuery puede tener algunos problemas para detectar elementos de cabecera de tabla (TH).Fuente
2010-04-05 17:44:22 jAndy
¿Cómo usarías '.rowIndex' para obtener el índice de una columna? –
Debe ser 'this.cellIndex'. Pero sí: mucho más simple y más eficiente que hacer que jQuery busque una lista de nodos. – bobince
sí, dentro de su código de controlador de eventos click se this.rowIndex()/this.cellIndex() – jAndy
siempre me ha gustado usar
.prevAll()
Preview on jsbin
Fuente
2010-04-05 17:59:44 gnarf
Cuestiones relacionadas