Диалог jQuery сокращается, когда я открываю второй раз - PullRequest
3 голосов
/ 22 марта 2011

У меня есть div (скажем, div1), который содержит два выпадающих списка и форму, которая имеет друг друга div (скажем, div2).я определил этот div1 как JQuery диалог.При изменении 1-го раскрывающегося списка будет заполнено другое раскрывающееся меню, а при изменении 2-го раскрывающегося списка в div2 будет загружен html-результат вызова ajax.

Теперь я закрываю диалог с помощью кнопки закрытия, а затем, когда пытаюсьповторно откройте диалог (div1), высота диалога будет уменьшена ниже указанной высоты.Если я открываю диалог, не меняя 2-й выпадающий список, он работает нормально.Только когда onchange происходит во 2-м раскрывающемся меню , диалоговое окно сжимается.

jQuery Dialog Открыть div1:

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

jQuery, закрыть div1:

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

jQuery-вызов ajax загружает html в div2:

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

Я использую jQuery 1.4.4 и UI 1.8.2.

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

Я нашел проблему.div2 должен быть пустым перед закрытием диалога div1, в противном случае высота div2 также берется и вычитается вместе с высотой диалога и, следовательно, уменьшает высоту в диалоге jQuery UI 1.8.2.

, поэтому диалоговое окно jQuery закрывает div1:

$("#div2").html(""); $("#fileDoc").dialog("close");
2 голосов
/ 22 марта 2011

При закрытии убедитесь, что вы уничтожаете диалог .dialog( "destroy" ), в противном случае диалог и его содержимое останутся скрытыми в DOM.Это может создать проблему, так как идентификаторы уникальны, и у вас может быть только один экземпляр с таким же #id открытым.

...