Jquery Dailog没有为Confirmation PopUp返回给定值的用户。

时间:2016-07-11 05:59:33

标签: javascript jquery asynchronous dialog showmodaldialog

您好我正在使用JQUERY Dialog进行确认弹出窗口。我有一个常见的javascript文件,其中我有一个用来调用window.ShowModalDialog的函数。现在从同一个函数我调用jquery对话框,但由于它是一个异步调用,调用函数返回值(是/否),甚至不接受对话框中的值。我怎样才能返回正确的值(是/否)

1 个答案:

答案 0 :(得分: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);

并使用回调

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

在回调中做你需要的一切,但要避免回调。

请参阅example