Si utilizas JavaScript
inline, bastaría con que, en la llamada a la función, asignes la palabra reservada
this
como argumento:
Código HTML:
Ver original<... ondblclick="myFunction(this)">
Y en la función, recibirías a dicho valor como argumento por referencia:
Código Javascript
:
Ver originalfunction myFunction(self){
location = "$ruta/panel/$user_get/user" + self.innerHTML;
}
Una forma más
moderna y limpia de hacerlo, consiste en delegar el evento, en este caso, el doble clic, al elemento que contiene a las filas y columnas, mismo que debería ser el cuerpo de la tabla (
<tbody>
) o la tabla (
<table>
). Una vez realizado y detectado esto, se procede a acceder al elemento directamente afectado por el evento mediante la propiedad
target
del objeto del evento:
Código Javascript
:
Ver originaldocument.getElementById("id de la tabla").addEventListener("dblclick", function(event){
location = "$ruta/panel/$user_get/user" + event.target.innerHTML;
}, false);
Por como veo que lo has hecho, deduzco que, el contenido de una de las celdas de cada fila, contiene el valor que deseas adherir a la ruta. El problema con ambas formas está en que, si el usuario da el doble clic sobre cualquier parte de la tabla y esta no tiene como contenido al valor en cuestión, se enviaría lo que sea que contenga el elemento afectado, por lo cual es necesaria una condición. Por ejemplo, podrías asignar una clase a todas las celdas de cada fila que contengan al valor en cuestión, así la condición sería la siguiente:
Código Javascript
:
Ver originalif (event.target.className == "clase"){
//Realizas la redirección
}
Utilizando la segunda forma, ya no será necesario insertar JavaScript
inline (en la etiqueta HTML) ni crear una función aparte.