2011-08-02 16 views
5

Oto próbka http://jsfiddle.net/mUpjw/15/JQuery Dialog ('open') nie działa

miałem JQuery 1.2 w jakimś starym kodzie i to było otwarcie okna w ten sposób.

$('#myDiv').dialog('open'); 

Zaktualizowałem do jquery 1.6.1 i działało dobrze. Ale jeśli dodaję DOCTYPE, to nie działa, ale jeśli wykonuję

$('#myDiv').dialog(); 

To działa dobrze.

Co może być tego przyczyną?

+0

Link do Twojej strony/kodu? – AlienWebguy

+0

@AlienWebguy http://jsfiddle.net/mUpjw/15/ –

Odpowiedz

4

Musisz ustawić swoje okno dialogowe.

<div id="dialog_link">click here</div> 
<div id="mydiv" style="display:none;">This is some document here.Will be shown as used 'open'</div> 
<div id="mydiv2" style="display:none;">This is some document here</div> 

$(document).ready(function(){ 

$('#mydiv').dialog({ 
    autoOpen: false, 
    width: 600, 
    buttons: { 
     "Ok": function() { 
      $(this).dialog("close"); 
     }, 
     "Cancel": function() { 
      $(this).dialog("close"); 
     } 
    } 
}); 

$('#dialog_link').click(function() { 
    $('#mydiv').dialog('open'); 
    return false; 
}); 
+0

Ciekawostką jest to, że gdy okno dialogowe $ ('# mydiv'). ({..}) znajdowało się poza .ready() nie zostało otwarte. Kiedy go przeniosłem, wszystko zaczęło działać zgodnie z oczekiwaniami. Domyśl. Dzięki @Caimen – Califf

0

Jest to opcja do wykorzystania po został zainicjowany dialog ..

$('#mydiv').dialog({autoOpen: false}); 
// now you can call it with 'open' to actually show it.. 
$('#myDiv').dialog('open'); 

demo na http://jsfiddle.net/gaby/mUpjw/16/

Różnica między jQuery UI wersjach i nie biblioteka jQuery

+0

Miałem ten sam problem, Ta odpowiedź rozwiązała mój problem. dzięki –