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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  modificando inputs con javascript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: modificando inputs con javascript  (Leído 2,510 veces)
Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
modificando inputs con javascript
« en: 11 Agosto 2013, 09:26 am »

digamos que tengo una tabla

Código
  1. <tr class='row' id=1>
  2. <td class='precio'> <input type=''....></td>
  3. <td class='precio_iva'><input type=''....></td>
  4. </tr>
  5. <tr class='row' id=2>
  6. <td class='precio'> <input type=''....></td>
  7. <td class='precio_iva'><input type=''....></td>
  8. </tr>
  9. <tr class='row' id=3>
  10. <td class='precio'> <input type=''....></td>
  11. <td class='precio_iva'><input type=''....></td>
  12. </tr>

necesito que al cambiar el dato precio se modifique su correspondiente precio_iva

tengo acceso a jquery

asi que hago un

Código
  1. $('.row>.precio').keyup(function({
  2. $(this).parent().find('.precio_iva>input').val($(this).value())
  3. }))

algo asi...
y eso me funciona, pero solo con la primer fila..  y no tengo acceso a cambiar las clases... estare asiendo algo mal? :-\


mentira, ya checando vien si funciona.. el problema es que anado nuevas filas con otro js, y esas nuevas filas no las revisa...   :S  ahora si no se que hacer.


« Última modificación: 11 Agosto 2013, 09:31 am por Kase » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: modificando inputs con javascript
« Respuesta #1 en: 11 Agosto 2013, 14:17 pm »

Tienes que utilizar on para recorrer de nuevo el DOM. Así buscas elementos que han podido ser añadidos después de la carga del script.

ej:
Código
  1. $('body').on('keyup','.row > .precio > input',function(){
  2.   $(this).parent().next('.precio_iva').find('input:first').val($(this).val());
  3. });

Saludos


En línea

Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: modificando inputs con javascript
« Respuesta #2 en: 11 Agosto 2013, 19:21 pm »

muchas gracias!

al final tube que usar  "live" por que dispongo de jquery 1.4 y prefiero no updatearlo para evitar errores

Código
  1. $(''.row > .precio > input'').live('keyup',function(){
  2.   $(this).parent().next('.precio_iva').find('input:first').val($(this).val());
  3. });


ahora tengo el dilema de que  '.row > .precio > input'  se modifica desde una seleccion en un popup... no con el teclado... n__nU   en ningun momento obtiene un focus o lo pierde :S   pero  podria hacer que se procese todo    cuando se obtiene el focus del windows
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines