3

2つのドロップダウンボックスを含むdiv(たとえば、div1)と、互いにdiv(たとえば、div2)を持つフォームがあります。このdiv1をjqueryダイアログとして定義しました。1番目のドロップダウンを変更すると、別のドロップダウンが入力され、2番目のドロップダウンを変更すると、div2にajax呼び出しのhtml結果がロードされます。

ここで、閉じるボタンを使用してダイアログを閉じ、ダイアログ(div1)を再度開こうとすると、ダイアログの高さが上記の高さよりも低くなりました。2番目のドロップダウンを変更せずにダイアログを開くと、正常に機能しています。2番目のドロップダウンでonchangeが発生した場合にのみ、ダイアログボックスが縮小されます。

jQueryダイアログOpendiv1:

    $("#fileDoc").dialog({
    bgiframe: true,     
        autoOpen: false,
        height: 680,
        width: 800,
        modal: true,
        resizable: false
});

jQueryダイアログclosediv1:

$('#fileDoc').dialog('close');

jQuery ajax呼び出しは、div2にhtmlをロードします。

$("#doc").html(data);

jQuery1.4.4とUI1.8.2を使用しています。

4

2 に答える 2

2

私は問題を見つけました。div1ダイアログを閉じる前にdiv2を空にする必要があります。そうしないと、div2の高さも取得され、ダイアログの高さで減算されるため、jQueryUIダイアログ1.8.2の高さが減少します。

したがって、jQueryダイアログはdiv1を閉じます。

$("#div2").html(""); $("#fileDoc").dialog("close");
于 2011-03-22T09:33:51.103 に答える
2

閉じるときに、ダイアログを破棄していることを確認してください。破棄し.dialog( "destroy" )ないと、ダイアログとそのコンテンツがDOMに非表示のままになります。IDは一意であり、同じ#idのインスタンスを1つしか開くことができないため、これにより問題が発生する可能性があります。

于 2011-03-22T06:58:07.760 に答える