2011-11-17 46 views
0


我有兩個div,我們將他們全部id = 1和id = 2,以方便。 有一個確定「one」或「two」應顯示的ajax調用。兩者都不會顯示。
多個Ajax調用/ JQuery/JQueryMobile

DIV一個=消息
DIV 2 =輸入框

步驟A)的通用AJAX調用填充信息根據需要,使在div可見。
步驟B)然後我使用JQuery來確定div是否可見。
如果是這樣,請讓div二不可見。否則,使div二可見。

問題是,它的工作原理,但步驟B沒有看到HTML中的變化,即使它發生了......直到第二個事件被觸發(按鍵或自動完成)。

我在想,如果這可能是因爲JQuery Mobile必須首先更新下面的字段。

簡化代碼如下所示: $(文件)。就緒(函數(){

$('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:我也曾嘗試Ajax調用後做的DIV 1 .REFRESH()

感謝

回答

1

阿賈克斯重新!任務是異步的,你的可見檢查將在你的MakeAjaxRequest函數的回調更新html之前完成。

+0

我發現jquery有一個ajaxsuccess函數,它爲我工作並替換了ajax。謝謝! – Cymbals