9

「保存」または「キャンセル」をクリックしても閉じないダイアログモーダルがあります。jQuery UIの公式デモページと比較しましたが、なぜこれが機能しないのかわかりません。

これが私が持っているものです:

 $(function () {
            $("#DetailsWindow").dialog({
                autoOpen: false,
                resizable: false,
                height: 500,
                width: 600,
                modal: true,
                title: 'Appointment Details',
                buttons: {
                    "Save": function () {
                        $(this).dialog("close");
                    },
                    "Cancel": function () {
                        $(this).dialog("close");
                    }
                }
            });

            $('button').click(function () {
                $("#DetailsWindow").dialog("open");
            });
        });

HTML:

 <button>A button</button>
        <div id="DetailsWindow">
            <h3>Title</h3>
            <span>Some Text</span>
        </div>
4

2 に答える 2

15

クエリ$('button')はより制限する必要があります。そうしないと<button>、jQueryダイアログ内のタグを含め、ページ上のすべてのタグと一致し、開いたままになります。

メインボタンにクラスを追加することをお勧めします。

<button class="open-details">A button</button>

次に、JavaScriptを次のように変更します。

$('button.open-details').click(function() {
    $("#DetailsWindow").dialog("open");
});
于 2012-05-10T20:59:47.077 に答える
1

使用してみてください:

 $(this).dialog('destroy').remove();

それ以外の:

 $(this).dialog("close");
于 2012-10-15T06:32:31.013 に答える