2016-07-11 3 views
1

Salut J'utilise JQUERY Dialog pour une fenêtre de confirmation. J'ai un fichier javascript commun, dans lequel j'avais une fonction qui appelait window.ShowModalDialog. Maintenant, à partir de la même fonction, j'appelle la boîte de dialogue jquery, mais comme il s'agit d'un appel asynchrone, la fonction appelante renvoie la valeur (oui/non) sans même accepter les valeurs de la boîte de dialogue. Comment puis-je retourner la valeur correcte (oui/non)Jquery Dailog ne renvoie pas la valeur donnée par l'utilisateur pour Confirmation PopUp.

Répondre

0

Si je comprends bien le problème ... et si quelque chose ne va pas, ajoutez l'exemple de votre code

Essayez d'utiliser ce modèle:

(function ($, undefined) { 
    $.fn.dialog = function (options) { 
     options = $.extend({}, $.fn.dialog.options, options); 
     return this.each(function() { 
      var dialog = $(this); 
      dialog.children(".ok").click(function (e) { 
       options.ok.call(this, e); 
       dialog.close(); 

      }); 
      dialog.children(".close").click(function (e) { 
       options.close.call(this, e); 
       dialog.close(); 

      }); 

     }); 
    }; 

    $.fn.open = function() { 
     this.get(0).showModal(); 
    }; 

    $.fn.close = function() { 
     this.get(0).close(); 
    }; 

    $.fn.dialog.options = { 
     ok : function() {}, 
     close : function() {} 
    }; 
})(jQuery); 

et en utilisant le rappel

var dialog = $(".myDialog").dialog({ 
     ok : function() { 
      alert("ok!!"); 
     } 
    }); 

Faites tout ce que vous avez besoin de rappel, mais il faut éviter callbackhell.

voir example