2014-07-22 33 views
0

我試圖解決這個問題,我現在很無奈。阿賈克斯加載內容與自動完成

我通過Ajax與數據裝載到一個div:

function sk_upload_l() 
{ 

var xmlhttp; 
    if (window.XMLHttpRequest) 
    { 
     xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    { 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById("ajax_div").innerHTML=xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET",".../sk_upload_request.php",true); 
    xmlhttp.send(); 
} 

在div的是加載到自動completition應施加到輸入字段。

輸入字段:

<input name="tags" id="tags" size="60"> 

完整碼是:

$(function() { 
function log(message) { 
    $("<div>").text(message).prependTo("#tags"); 
    $("#tags").scrollTop(0); 
} 


$("#tags").autocomplete({ 
    source: "search_tags.php", 
    minLength: 1, 
    select: function(event, ui) { 
    log(ui.item ? 
     "Selected: " + ui.item.value + " aka " + ui.item.id : 
     "Nothing selected, input was " + this.value); 
    } 
}); 

});

我無法獲得在新加載的div字段中工作的自動完成功能。

可悲的是我甚至不知道是否有可能與該代碼來實現這一點(我不想砸sk_upload_l(),因爲我有這樣的更多(複雜功能))

我試着調用'$(document).ready(function()'中的自動完成函數,並調用Ajax函數中的自動完成函數i(在xmlhttp.send();之後),兩者都不起作用。

沒有Ajax調用自動完成代碼工作正常,我不知道它甚至有可能實現自動完成與Ajax調用,我現在:(

歡迎任何提示。

感謝&問候 戴夫

+0

如果您使用的是jQuery,爲什麼不使用jQuery的'$ .ajax'? – sharf

+0

你可能想看看這個http://jqueryui.com/autocomplete/ – juanchopx2

+0

我有點困惑。你說自動完成是指向一個div,但來源:自動完成是一個PHP文件。 php文件是否返回一個JSON數組?我有代碼使用div的內容作爲自動完成的來源,也有代碼用PHP文件返回JSON數據,但我不確定你需要哪個。 – TimSPQR

回答

0

我打電話交流代碼在Ajax調用的最後解決它。

thx所有有用的答案