2016-07-11 8 views
1

こんにちは私は確認のポップアップのためにJQUERYダイアログを使用しています。私は共通のjavascriptファイルを持っています。このファイルには、window.ShowModalDialogを呼び出すための関数がありました。今私はjqueryダイアログを呼び出すと同じ関数からですが、それは非同期呼び出しであるので、呼び出し関数はダイアログから値を受け入れずに値(yes/no)を返します。私は適切な値を返すことができますどのように(はい/いいえ)Jquery DailogがConfirm Popupのユーザー指定の値を返さない。

私が正しく問題... を理解し、何かが間違っている場合は、あなたのコードの例を追加した場合は

答えて

0

このパターンを使用してみてください:

(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); 

とコールバックに必要なすべての操作を行いますが、callbackhellを避けるため、コールバック

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

を使用。

example