2012-09-13 68 views
1

使用jquery對話框一段時間,但現在體驗一種奇怪的行爲。jQuery對話框(「打開」)內容不顯示

呼叫:

$('#dialog-form').dialog({ 
    autoOpen: false, 
    width: '700px', 
    modal: true, 
    hide: 'slide' 
}); 

$('#dialog-form').dialog('option', 'buttons', { 
'add' : { 
    text: labelAdd, 
    click: function() { 
     doadd = true; 
     if (typeof checkRow !== "undefined") { doadd = checkRow() }; 
     if (doadd) { exec(); } 
    }}, 
'Cancelar': function() {$(this).dialog('close'); } 
}); 
$("#dialog-form").dialog("open"); 

function exec() { 
$('#dialog-form').dialog('close'); 
/* execute some remote code using ajax call*/ 
if (error) { 
    $('#dialog-form').dialog('open'); 
    return false 
} 
return true; 
} 

的對話框無法正確顯示。它顯示「ui-widget-overlay」,但不顯示對話內容。

它發生在我身上的兩個樹時間,我稱之爲函數。

爲什麼我可以看到display屬性設置爲none。

所得HTML代碼:

div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable" style="display: none; z-index: 1002; outline: 0px none; position: absolute; height: auto; width: 700px; top: 0px; left: 320.5px;" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog-form"> 

手動設置顯示用螢火蟲到框,它工作正常。

順便說一句,如果我脈衝「esc」我可以看到隱藏對話框的動畫。

我可以從js設置div內容的顯示嗎?或者我應該打開/關閉不同的對話框?

感謝您的幫助。

安東尼奧

+0

你可以在一個的jsfiddle小提琴.com展示問題? – Barmar

+0

非常簡單的例子我在做什麼: http://jsfiddle.net/LTGMh/ – Antonio

+0

小提琴不使用jQuery UI,所以沒有對話插件 - 你必須選擇jQuery 1.7.2才能獲得jQuery UI選項。我試着改變它,但控制檯報告沒有對象的對話方法。我沒有進一步弄清楚爲什麼會發生這種情況。 – Barmar

回答

0

你爲什麼不加

$("#dialog-form").dialog("open").show()它..

我有一個類似的問題,這個工作對我來說..

+0

感謝您的答覆。 沒有工作... – Antonio