modificando inputs con javascript

Iniciado por Kase, 11 Agosto 2013, 09:26 AM

0 Miembros y 1 Visitante están viendo este tema.

Kase

digamos que tengo una tabla

Código (html4strict) [Seleccionar]
<tr class='row' id=1>
<td class='precio'> <input type=''....></td>
<td class='precio_iva'><input type=''....></td>
</tr>
<tr class='row' id=2>
<td class='precio'> <input type=''....></td>
<td class='precio_iva'><input type=''....></td>
</tr>
<tr class='row' id=3>
<td class='precio'> <input type=''....></td>
<td class='precio_iva'><input type=''....></td>
</tr>


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

tengo acceso a jquery

asi que hago un

Código (javascript) [Seleccionar]
$('.row>.precio').keyup(function({
$(this).parent().find('.precio_iva>input').val($(this).value())
}))


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.

#!drvy

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 (javascript) [Seleccionar]
$('body').on('keyup','.row > .precio > input',function(){
  $(this).parent().next('.precio_iva').find('input:first').val($(this).val());
});


Saludos

Kase

muchas gracias!

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

Código (javascript) [Seleccionar]
$(''.row > .precio > input'').live('keyup',function(){
   $(this).parent().next('.precio_iva').find('input:first').val($(this).val());
});



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