0
$(function () {
        $('#modalDlg2').live("click", function (event) {
            event.preventDefault();
            loadDialog(event, "/User/Create");
        });
        function loadDialog(event, target) {
            var $dialog = $('<div></div>');
            $dialog.empty();
            $dialog
    .load(target)
    .dialog({
    title:"Novo utilizador",
        modal: true,
        autoOpen: false,
        width: 600,
        show:'fade',
        hide:'fade',
        minHeight: 400,
        resizable: false
    });

     $dialog.dialog( "option", "buttons", {
            "Cancelar": function() { 
                    $(this).dialog("close");
                    $(this).empty();
                }         });
            $dialog.dialog('open');
        }            
    })

クローズボタン「キャンセル」に問題があり、モーダルダイアログを閉じてから空にする必要がありますが、$(this).dialog( "close")が機能しないようで、.empty()は機能します。
私は自分の問題の解決策を探してきました。誰かがこれで私を助けることができますか?

4

3 に答える 3

0

これをロードのコールバック関数に入れてみます。

$(function() {
    $('#modalDlg2').on("click", function(event) {
        event.preventDefault();
        loadDialog(event, "/User/Create");
    });

    function loadDialog(event, target) {
        var $dialog = $('<div></div>');
        $dialog.empty();
        $dialog.load(target, function() {
            $dialog.dialog({
                title: "Novo utilizador",
                modal: true,
                autoOpen: false,
                width: 600,
                show: 'fade',
                hide: 'fade',
                minHeight: 400,
                resizable: false
            });

            $dialog.dialog("option", "buttons", {
                "Cancelar": function() {
                    $(this).dialog("close");
                    $(this).empty();
                }
            });
            $dialog.dialog('open');
        });
});
于 2012-11-13T14:43:12.803 に答える
0

これを試して:

$dialog.dialog( "option", "buttons", {
    "Cancelar": function() { 
            $dialog.dialog("close");
            $(this).empty();
    }
});
$dialog.dialog('open');

また

$dialog.dialog( "option", "buttons", {
   "Cancelar": $.proxy(function() { 
        $(this).dialog("close");
        $(this).empty();
    },this)         
});
$dialog.dialog('open');
于 2012-11-13T14:45:03.380 に答える
0

次のコードを試してください。

$dialog.dialog("option", "buttons", { "Cancelar": function() { $(this).remove(); } });
于 2014-08-08T06:00:15.873 に答える