2016-01-21 4 views
1

Это мой код, чтобы открыть диалоговое окно jquery. он работает в первый раз (открывается), но не во второй раз (не открывается). подобный вопрос задает here, но это не работает для меняДиалоговое окно JQuery не открывается во второй раз при нажатии

function LoadGridView(id, row) { 
 
    var dlg = jQuery('#Edit').load('Edit.aspx'); 
 

 
    dlg.dialog({ 
 
    autoOpen: false, 
 
    modal: true, 
 
    show: 'slide', 
 
    close: 'slide', 
 
    width: 400, 
 
    height: 160, 
 
    buttons: { 
 
     "cancel": function() { 
 
     dlg.dialog("close"); 
 
     } 
 
    } 
 
    }); 
 
    
 

 
    dlg.dialog("open"); 
 
}

ответ

1

вашего DLG сферы не существует, когда вы пытаетесь открыть второй раз, вам необходимо хранить его глобально

// global var to hold dlg 
var dlg; 

$(document).ready(function() { 

// get element and store it in dlg global var so that its scope may retain 
    dlg = $("[id$='Edit']"); 


    dlg.dialog({ 
    autoOpen: false, 
    modal: true, 
    show: 'slide', 
    close: 'slide', 
    width: 400, 
    height: 160, 
    buttons: { 
     "cancel": function() { 
     dlg.dialog("close"); 
     } 
    } 
    }); 

}); 
+0

О, мой плохой, я был в беспорядке: (это отлично решило мою проблему. –

Смежные вопросы