elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Ayuda con Jquery
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con Jquery  (Leído 1,809 veces)
:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Ayuda con Jquery
« en: 21 Diciembre 2015, 03:24 am »

Buenas gente, tengo una tabla de este tipo:

Código
  1.  <tbody>
  2.      <tr>
  3.             <td>dato 1</td>
  4.             <td>dato 2</td>
  5.             <input type="hidden" name="n1" id="n1" value="1">
  6.      </tr>
  7.      <tr>
  8.             <td>dato 3</td>
  9.             <td>dato 4</td>
  10.             <input type="hidden" name="n1" id="n1" value="2">
  11.      </tr>
  12.      <tr>
  13.             <td>dato 5</td>
  14.             <td>dato 6</td>
  15.             <input type="hidden" name="n1" id="n1" value="3">
  16.      </tr>
  17.  </tbody>
  18.  

Y tengo una funcion en Jquery que me ayuda a moverme entre las filas de la tabla mediante el teclado y cuando presiono "ENTER" se activa un evento.
Este evento me permite hacer lo siguiente:

Código
  1. enter: function($el) {
  2. alert($el.text());
  3. }
  4.  

"$el" es un objeto con el que puedo leer los datos que tiene esa fila.
Lo que quiero es poder aprovechar "$el" y obtener el valor que tiene el input que esta en modo oculto en esa misma fila.

Mas o menos algo asi:

Código
  1. alert($('#n1').val());
  2.  

Si hago lo mencionado arriba lo unico que me muestra es el valor 1.
Que es lo que tiene el primer id n1 sin importar si mi foco esta en la segunda fila o tercera.

Lo que necesito es obtener el valor del input oculto que esta en la fila en la que hago el focus.

Me dejo entender?
Saludos


« Última modificación: 21 Diciembre 2015, 03:26 am por @ohk » En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Ayuda con Jquery
« Respuesta #1 en: 21 Diciembre 2015, 03:37 am »

No ando en mi PC pero puede decirte algo:

Cuando haces lo siguiente, te muestra el 1 porque es un valor "quemado" es decir, fijo.
Código
  1. alert($('#n1').val());

Pero cuando sabes el indice del tr en donde estas situado, puedes hacer una especie de contador, por ej:
Código
  1. var id = $("table tr").index(this);
  2. alert($('#n' + id).val());

PD: Escribí el código de memoria, así que tendrás que depurarlo porque no se si funciona.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Ayuda con Jquery
« Respuesta #2 en: 21 Diciembre 2015, 03:49 am »

Hola, gracias por tu pronta respuesta.

Aun no he revisado bien lo que dijiste pero aca tengo el codigo completo y funcionando para tener una mejor idea.

http://plnkr.co/edit/64E6ej2sAwQo6UoAg8vu?p=preview


Saludos



A pesar de varios intentos con diferentes codigos encontrados en este y otros foros y la documentación de la api utilizada y algunos otros intentos, no he logrado conseguirlo.

Algunto tiene alguna idea de como puedo hacerlo?

Saludos



Como en las peliculas, lo solucione al darme por vencido  :xD

Código
  1. var idi = $('#dat', $el).val();
  2.  

Tan simple, tan sencillo, tan obvio. (Tan tonto yo)

Saludos


Mod: No hacer triple post. Usar el botón "modificar".
« Última modificación: 21 Diciembre 2015, 14:50 pm por #!drvy » En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Ayuda con Jquery
« Respuesta #3 en: 21 Diciembre 2015, 14:23 pm »

@ohk, estas usando el mismo ID para identificar a todos los inputs ocultos en las filas de la tabla. Esto es INCORRECTO y el navegador solo tiene el cuenta el primero. Un ID nunca puede ser repetido. Para que me entiendas.

INCORRECTO
Código
  1. <input id='hola' type='text' ...>
  2. <input id='hola' type='text' ...>

CORRECTO
Código
  1. <input id='hola1' type='text' ...>
  2. <input id='hola2' type='text' ...>

En tu caso, solucionarías el problema de forma facil simplemente cambiando los IDs por clases CSS. El código que has puesto tampoco es correcto. En una tabla no puedes poner directamente un <input>. La tabla solo admite hijos relativos a esta (tr,thead,tbody etc).

JS
Código
  1.      $(function() {
  2.        $('table')
  3.            .find('tr')
  4.            .keynavigator({
  5.              keys: {
  6.             enter: function($el) {
  7.            alert($('.n1',$el).val());
  8.          }
  9.        }
  10.            }) //[tr, tr, tr]
  11.            .eq(0) //[tr] (in the middle)
  12.            .addClass('active')
  13.            .parent() //tbody
  14.            .focus();
  15.      });

CSS
Código
  1.      tr.active td {
  2.        background-color: #ccc;
  3.      }
  4.  
  5.      .oc {display:none;}

HTML
Código
  1.    <table id="example2">
  2.      <tbody>
  3.        <tr>
  4.          <td>Row1</td>
  5.          <td class='oc'><input type="hidden" name="n1" class="n1" value="1"></td>
  6.        </tr>
  7.        <tr>
  8.          <td>Row2</td>
  9.          <td class='oc'><input type="hidden" name="n2" class="n1" value="2"></td>
  10.        </tr>
  11.        <tr>
  12.          <td>Row3</td>
  13.          <td class='oc'><input type="hidden" name="n3" class="n1" value="3"></td>
  14.        </tr>
  15.      </tbody>
  16.    </table>

DEMO: http://plnkr.co/edit/9yQMoM8e7qsNenDzJVfn?p=preview

Saludos
« Última modificación: 21 Diciembre 2015, 14:26 pm por #!drvy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con script jquery « 1 2 »
Desarrollo Web
motocros_elche 10 6,271 Último mensaje 26 Junio 2011, 20:34 pm
por Shell Root
[Ayuda] Usar 2 Jquery al mismo tiempo - Usar 2 veces jquery
Desarrollo Web
Graphixx 5 7,885 Último mensaje 19 Diciembre 2012, 17:17 pm
por #!drvy
Ayuda con jQuery
Desarrollo Web
NaSaRiD15 2 1,527 Último mensaje 16 Septiembre 2013, 23:10 pm
por NaSaRiD15
[Ayuda] con Jquery
Java
herminio59 2 1,672 Último mensaje 23 Abril 2014, 14:39 pm
por engel lex
Ayuda con jquery.isotope en wordpress
Desarrollo Web
xavidenia 0 1,619 Último mensaje 15 Junio 2016, 19:17 pm
por xavidenia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines