1

次のダイアログが表示されます

$("#statusbox").dialog({
    autoOpen: false,
    bgiframe: true,
    modal: true,
    width: 'auto',
    height:'auto',
    title:"Check Order Status",
    buttons: {
        Find: function() {
            get_status();
        },
        Close: function() {
            $(this).dialog('close');
        }
    }
});

ユーザーが検索ボタンを押すと、Ajax が実行されて注文がダイアログに返され、動的にサイズ変更されますが、ボックスが下に拡張されるだけです。ダイアログが中央に配置されるように、ボックスを上下に拡張する方法はありますか?

また、十分なコンテンツがある場合、ページの境界を超える可能性があるため、それを防ぐために最大の高さを使用できると思いますが、ウィンドウのサイズを変更した場合はどうすればよいですか?

maxHeight: 500 を追加してみましたが、底からはみ出すのを止めませんでした。

4

2 に答える 2

1

ダイアログを画面の中央に配置するコードがあると思いますか? 新しい情報が再入力された後、それを実行します。

ボックスがウィンドウより高くならないようにする新しいコードを書きます。そうである場合は、ダイアログの高さをウィンドウの高さ (パディングが必要な場合はそれ以下) に設定し、 に設定overflowscrollます。ウィンドウのサイズも変更するたびに、このコードを実行します。

于 2010-04-30T14:54:24.233 に答える
1

100% ではありませんが、かなり近い状態です。

auto常に下に展開されるため、位置を「上」に設定しました。次に、尊重するための回避策として、チケットで提案されているように open 関数を追加しました。autoHeightmaxHeight

そうは言っても、私は本当にドキュメントではなく身長を使いたかったのですが、なぜそこから 200 を引かなければならなかったのかわかりません。

$("#statusbox").dialog({
    autoOpen: false,
    bgiframe: true,
    modal: true,
    width: 'auto',
    height:'auto',
    position: 'top',
    title:"Check Order Status",
    open: function(event, ui) {
        $(this).css({'max-height': $(document).height()-200, 'overflow-y': 'auto'});
    },
    buttons: {
        Find: function() {
            get_status();
        },
        Close: function() {
            $(this).dialog('close');
        }
    }
});
于 2010-05-01T11:48:00.817 に答える