Ver Mensaje Individual
  #23 (permalink)  
Antiguo 05/10/2010, 11:58
Avatar de tredio
tredio
 
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 16 años
Puntos: 66
Respuesta: JQuery: varias funciones consecutivas

seria muy parecido, pero no me dijiste si te sirvio de esa manera jeje, si son mas de 3 seria algo asi.

Código Javascript:
Ver original
  1. funcion_1(function(){
  2.     funcion_2(function(){
  3.         funcion_3(funcion_4);
  4.     });
  5. });

siguiendo esa estructura, otra cosa que no entiendo es para que lo haces asi, si ya sabes cual es el nombre de las funciones que vas a usar y siempre lo haces con la misma, por que no haces algo asi:

Código Javascript:
Ver original
  1. function cambio_proveedor(){
  2.         var id_proveedor = $('.id_proveedor option:selected').val();
  3.         // Llamamos a carga_dtos_proveedor.php
  4.         $.get('carga_dtos_proveedor.php', {id_proveedor: id_proveedor}, function(datos){
  5.             // Pinta dtos de proveedor
  6.             $('.dto_proveedor_1').val(datos.dto_1);
  7.             $('.dto_proveedor_2').val(datos.dto_2);
  8.             $('.dto_proveedor_3').val(datos.dto_3);
  9.             coste_final();
  10.         },'json');
  11.     }
  12.  
  13.     function coste_final(){
  14.         var tarifa_compra = $('.tarifa_compra').val();
  15.         var dto_1 = $('.dto_1').val();
  16.         var dto_2 = $('.dto_2').val();
  17.         var dto_3 = $('.dto_3').val();
  18.         var dto_ajuste = $('.dto_ajuste').val();
  19.         var punto_verde = $('.punto_verde').val();
  20.         // Obtenemos coste_final y lo pintamos
  21.         $.get('carga_coste_final.php', {tarifa_compra: tarifa_compra, dto_proveedor_1: datos.dto_1, dto_proveedor_2: datos.dto_2, dto_proveedor_3: datos.dto_3, dto_1: dto_1, dto_2: dto_2, dto_3: dto_3, dto_ajuste: dto_ajuste, punto_verde: punto_verde}, function(coste_final){
  22.             $('.coste_final').val(coste_final);
  23.             tarifas();
  24.                 });
  25.     }
  26.  
  27.     function tarifas(){
  28.         var coste_final = $('.coste_final').val();
  29.         var margen_1 = $('.margen_1').val();
  30.         var margen_2 = $('.margen_2').val();
  31.         // Obtenemos tarifa_1 y la pintamos
  32.         $.get('carga_tarifa.php', {coste_final: coste_final, margen: margen_1}, function(tarifa_1){
  33.             $('.tarifa_1').val(tarifa_1);
  34.         });
  35.         // Obtenemos tarifa_2 y la pintamos
  36.         $.get('carga_tarifa.php', {coste_final: coste_final, margen: margen_2}, function(tarifa_2){
  37.             $('.tarifa_2').val(tarifa_2);
  38.         });
  39.     }

Cita:
¿Puedo llamar a una de esas funciones, independientemente, sin enviar ningún parámetro, a pesar de que esperen el parámetro callback?
si se puede pero de la forma en que esta ahorita daria error para que no suceda eso tendrias que validar que la funcion existe, es decir que el valor del callback sea diferente de null, podria ser algo asi:

Código Javascript:
Ver original
  1. if(callback){callback();}

claro asi no asegurariamos que el parametro sea una funcion, para eso creo que puedes usar el tipeof investiga algo sobre eso.

saludos.
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D