Jquery callback: llamar a una función después que termine otra.
Publicado por Marcos (1 intervención) el 14/10/2014 17:51:27
Hola, no tengo muy claro el funcionamiento de los callbacks en jquery.
¿Podríais aportarme algún enlace interesante? he estado leyendo un poco de documentación, pero no termino de entenderlo.
Tengo que hacer que al detectar que el usuario ha modificado el dato sobre el ancho general, se recalculen los importes de los 4 productos que se muestran.
El problema es que el importe del producto nº 2 se obtiene a través de una fórmula que tiene en cuenta el importe del producto1, y así sucesivamente, por lo que necesito que sólo cuando termine la función calcularImporteProducto1, entonces empiece la función calcularImporteProducto2.
Mi problema es que no va bien si no pongo un alert detras de este código:
¿Podéis echarme una mano?
Gracias!
¿Podríais aportarme algún enlace interesante? he estado leyendo un poco de documentación, pero no termino de entenderlo.
Tengo que hacer que al detectar que el usuario ha modificado el dato sobre el ancho general, se recalculen los importes de los 4 productos que se muestran.
El problema es que el importe del producto nº 2 se obtiene a través de una fórmula que tiene en cuenta el importe del producto1, y así sucesivamente, por lo que necesito que sólo cuando termine la función calcularImporteProducto1, entonces empiece la función calcularImporteProducto2.
1
2
3
4
5
6
7
8
9
10
11
12
13
$('#anchoGeneral').change(function() {
calcularImporteProducto1();
calcularImporteProducto2();
calcularImporteProducto3();
calcularImporteProducto4();
calcularTotalVentaPublico();
});
function calcularImporteProducto1()
....
// Donde el importe1 se saca de una fórmula en la que intervienen el altoGeneral y el anchoGeneral
$("#importe1").val(importe1.toFixed(2));
}
Mi problema es que no va bien si no pongo un alert detras de este código:
1
2
3
4
5
6
7
$('#anchoGeneral').change(function() {
calcularImporteProducto1(); alert('si no pongo esto no se sigue ejecutando');
calcularImporteProducto2();alert('si no pongo esto no se sigue ejecutando');
calcularImporteProducto3();alert('si no pongo esto no se sigue ejecutando');
calcularImporteProducto4();alert('si no pongo esto no se sigue ejecutando');
calcularTotalVentaPublico();alert('si no pongo esto no se sigue ejecutando');
});
¿Podéis echarme una mano?
Gracias!
Valora esta pregunta


0