2011-11-17 5 views
0


두 div가 있습니다. 우리는 모두 id = 1과 id = 2를 쉽게 사용할 수 있습니다. "one"또는 "two"가 표시되도록 결정하는 ajax 호출이 있습니다. 둘 다 표시되지 않습니다.
여러 Ajax 호출/JQuery/JQueryMobile

DIV 하나 =
메시지 DIV 두 = 입력란

단계 A) 일반 Ajax 호출 필요에 따라 메시지를 채우고 DIV 볼 수있다.
단계 B) 그런 다음 JQuery를 사용하여 div가 표시되는지 확인합니다.
그렇다면 div 2를 보이지 않게하십시오. 그렇지 않으면 div 2가 보이게하십시오.

문제는이 작품이지만, 단계 B는 무슨 일이 있었더라도 ... 이벤트가 발생 될 때까지 HTML의 변화 (키 누름 또는 자동 완성을)보고하지 않습니다.

JQuery Mobile이 먼저 필드를 업데이트해야하기 때문에 발생했는지 궁금합니다. $ (문서) .ready (함수() {내가 숨길 수 있었고 문제없이 JQuery와 모바일에서 다른 일을 표시 한

$('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(); 
     } 
    }); 
}); 

:.

는 단순화 된 코드는 다음과 같습니다

추신 : 나는 또한 아약스 호출 후에 DIV 일에 때 .refresh을()하고 시도

감사

답변

1

아약스 재.! 퀘스트가 비동기 인 경우, MakeAjaxRequest 함수의 콜백이 html을 업데이트하기 전에 가시적 인 체크가 수행 될 것입니다.

+0

jquery가 나를 위해 작동하고 ajax를 대체 한 ajaxsuccess 기능을 가지고있는 것으로 나타났습니다. 감사! – Cymbals