digamos que tengo una tabla
<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
$('.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.
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:
$('body').on('keyup','.row > .precio > input',function(){
$(this).parent().next('.precio_iva').find('input:first').val($(this).val());
});
Saludos
muchas gracias!
al final tube que usar "live" por que dispongo de jquery 1.4 y prefiero no updatearlo para evitar errores
$(''.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