Несколько вызовов Ajax / JQuery / JQueryMobile - PullRequest
0 голосов
/ 18 ноября 2011

У меня есть два деления, все мы будем id = one и id = two для удобства.Существует вызов ajax, который определяет, что «один» или «два» должны быть показаны.Оба не будут показаны.

div one = сообщениеdiv two = поле ввода

Шаг A) Общий вызов ajax заполняет сообщение по мере необходимости и делает div видимым.Шаг B) Затем я использую JQuery, чтобы определить, видим ли div one.Если это так, сделайте div два невидимым.Иначе, сделайте div два видимым.

Проблема в том, что это работает, но Шаг B не видит изменения в html, даже если оно произошло ... до тех пор, пока не сработает событие second (нажатие клавиши или автозаполнение).

Мне интересно, может ли это быть из-за того, что JQuery Mobile должен сначала обновить поля внизу.

Упрощенный код выглядит следующим образом: $ (document) .ready (function () {

    $('input[name="foo"]').keyup(function() {  
        MakeAjaxRequest(ajax params);  //this updates div 1 and makes it visible 
        if ($('#one').is(':visible')){                
            $('#two').hide();   
        } else {   
            $('#two').show(); 
        }
    });
});  

Мне удалось без проблем спрятать и показать другие вещи в JQuery Mobile.

ps: Я также попытался выполнить .refresh () на div 1 после вызова ajax.

Спасибо!

1 Ответ

1 голос
/ 18 ноября 2011

Запрос ajax является асинхронным, ваша видимая проверка будет выполнена до того, как обратный вызов вашей функции MakeAjaxRequest обновит html.

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