2014-12-12 6 views
0

Привет У меня есть функция, как показано ниже,диалог близко Jquery Mobile не работает должным образом

$("#OkButton").click(function(e){ 
    $("#sampleDlg").dialog('close'); 
     //Ajax call 
    $("#sampleDlg").dialog('open'); 
}); 

При нажатии кнопки ОК я хочу диалоговое окно, чтобы получить закрыты и открыть новый диалог с той же dialogID после завершения AJAX вызова. В настоящее время событие закрытия запускается только после завершения функции Click, поэтому оно закрывает оба диалоговых окна. Пожалуйста, помогите мне решить эту проблему.

+0

Какие JQM версии вы используете? – Omar

+0

@Omar Спасибо за ваш ответ. В моем проекте они написали оболочку в верхней части диалогового окна. Это проблема после дня, проведенного мной, я нашел это и исправил ошибку. Спасибо за ваш ответ. – VelNaga

ответ

1

Из-за асинхронной природы AJAX просит вам необходимо открыть следующий диалог внутри обработчика обратного вызова $.ajax:

$("#OkButton").click(function(e){ 
    $("#sampleDlg").dialog('close'); 
    $.ajax({ 
     url: '.foo.html', 
     success: function(data) { 
      $("#sampleDlg").dialog('open'); 
     } 
    }); 
}); 
+0

Спасибо за ваши комментарии. Я уже пробовал, я могу открыть второй диалог. Но я не могу закрыть первый диалог. В конце обратного вызова срабатывает только закрытие события, поэтому диалог закрывается. – VelNaga

+0

Здесь проблема связана с событием закрытия JqueryMobile. Я не знаю, почему этого не происходит в конце инструкции. Событие закрытия запускается только в конце блока. – VelNaga