Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Pasar parametros para callback desde otra función

Estas en el tema de Pasar parametros para callback desde otra función en el foro de Jquery en Foros del Web. Buenas tardes a todos, muchas gracias por leer mi post, tengo las siguientes funciones en jquery apoyado con jqueryUI Código: function mostrar_confirmacion_ui(titulo, mensaje, ancho, callback) ...
  #1 (permalink)  
Antiguo 04/09/2013, 14:19
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 16 años
Puntos: 19
Busqueda Pasar parametros para callback desde otra función

Buenas tardes a todos, muchas gracias por leer mi post, tengo las siguientes funciones en jquery apoyado con jqueryUI

Código:
function mostrar_confirmacion_ui(titulo, mensaje, ancho, callback) {
    var div = $('#confirmacion_ui');
    var val = false;
    div.attr('title', titulo);
    div.html(mensaje);
    div.dialog({
        resizable: false,
        minWidth: ancho,
        modal: true,
        buttons: {
            "Aceptar": function () {
                $(this).dialog("close");
                callback();
                return true;
            },
            "Cancelar": function () {
                $(this).dialog("close");
                val = false;
                return false;
            }
        }
    });
}

function pruebas_jquery() {
    alert("PRUEBA EXITOSA");
}
Cuando llamo la primera, sin pasarle ninguún parametro a pruebas_jquery, me funciona perfectamente el callback, ej:

Código:
mostrar_confirmacion_ui('TITULO', 'MENSAJE', 350, pruebas_jquery);
me resultaria en un alert diciendo "PRUEBA EXITOSA".

Pero cuando necesite pasarle los parametros a la función que llamo como callback, no se como enviarselos, se que podria ser con Apply() u otro método pero no tengo muchos conocimientos al respecto.

Por ejemplo si tuviera la función

Código:
function pruebas_jquery(mensaje) {
    alert(mensaje);
}
Como cambio el código de la primera función para que me envie dichos parametros, algo asi como esto y no me de error

Código:
mostrar_confirmacion_ui('TITULO', 'MENSAJE', 350, pruebas_jquery('PRUEBA EXITOSA'));
__________________
http://www.solucionesrios.tk/

Visita mi Web!
  #2 (permalink)  
Antiguo 04/09/2013, 21:37
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Respuesta: Pasar parametros para callback desde otra función

Hola,

Mira, debe haber otra solucion, pero por ahora solo veo dos

1) Crear una variable global y antes de mandar a llamar tu funcion setear el valor, me explico

Código:
<script type="text/javascript">
    var texto = "PRUEBA EXITOSA";

   function mostrar_confirmacion_ui(titulo, mensaje, ancho, callback) {
  {
         //toda tu funcion
   }


   function pruebas_jquery() {
	alert(texto);
 }

   mostrar_confirmacion_ui('TITULO', 'MENSAJE', 350, pruebas_jquery);

   //seteamos nuevo valor
   texto = "PRUEBA DE SONIDO (8)";
   mostrar_confirmacion_ui('TITULO', 'MENSAJE', 350, pruebas_jquery);
</script>
2) Crear un switch, asi segun el valor pasado es lo que debe mostrar

Código:
 function mostrar_confirmacion_ui(titulo, mensaje, ancho, callback) {
  {
       switch(callback)
     {
       case "pruebas_jquery":
            texto= 'soy un lindo texto';
           break;

        case "pruebas":
            texto= "¡soy el segundo :(';
           break;

        default:
            texto= 'Nooo... soy el default';
           break;
      }
         //toda tu funcion

              callback(texto);
   }
Y bueno, debe haber otra, una mucho mas simple que estas dos rancias, pero la verdad que por ahora no veo mas soluciones

Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)
  #3 (permalink)  
Antiguo 05/09/2013, 07:03
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 16 años
Puntos: 19
Respuesta: Pasar parametros para callback desde otra función

Creo que usare tu primera solución por los momentos, si encuentro les hare saber o si me proporcionan otra, pues igualmente se agradecera
__________________
http://www.solucionesrios.tk/

Visita mi Web!
  #4 (permalink)  
Antiguo 05/09/2013, 17:50
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Respuesta: Pasar parametros para callback desde otra función

Es que lo que normalmente se hace, es que los botones que muestras son los que tienen la funcion que necesitas, por ejemplo si necesitas crear un nuevo usuario tendras un boton que dira crear y otro cancelar, obviamente el crear tendra toda la logica que necesitas y los textos que debes desplegar.

De hecho si requieres que llamen otras funciones puedes personalizar los botones que va a mostrar antes de cargar el modal.

Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)

Etiquetas: jquery-ui
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:46.