Получение данных диалога при загрузке Ajax - PullRequest
0 голосов
/ 25 августа 2010

Не совсем уверен, как сделать следующее, и надеюсь, что вы можете посоветовать.

У меня есть диалог, который открывает страницу через ajax.Я хотел бы как-нибудь, как только этот диалог завершит загрузку , вызовет событие, которое затем выполнит какое-то другое действие.

Может кто-нибудь посоветовать, как выполнить такую ​​задачу.

Надеюсь, вы можете помочь.

Ли

Ответы [ 2 ]

1 голос
/ 25 августа 2010
$( ".selector" ).dialog({
   open: function(event, ui)
   {
       //Dialog Open
   }
});

А

$( ".selector" ).bind( "dialogopen", function(event, ui)
{
  // Dialog Open
});

http://jqueryui.com/demos/dialog/#event-open


Обновление:

$.ajax(
{
    url: 'ajax/test.html',
    success: function(data)
    {
        var Contents = data;
        $dialog = $('<div></div>').attr('title',Contents.title).append($('<p></p>').val($Contents.contents));
        $($dialog).dialog({
           open: function(event, ui)
           {
                //Dialog Open
           }
        });
    }
});

, поскольку вы определили содержимое как глобальную область, доступную в функции открытия диалогового окна.

1 голос
/ 25 августа 2010

Ознакомьтесь с документацией jQuery API для ajax .Необходимый «триггер» называется функцией обратного вызова, и по завершении вызывается функция «success», «error» или «complete» (используется при успешном завершении или ошибке):

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  },
  error: function(XMLHttpRequest, textStatus){
    alert(textStatus);
  }
});

I wasnВы не уверены, какой диалоговый скрипт вы используете, используете ли вы JQuery UI Dialog?И если приведенный выше пример не помогает, укажите код, который вы пытаетесь заставить работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...