2013-10-28 36 views
0

即時通訊有問題後,我選擇一個選項jQuery用戶界面自動完成之後AJAX <select>

<select name="opcoes" onchange="showInfo(this.value)"> 
<option value="1">one</option> 
<option value="2">two</option> 
</select> 

我通過這個

function showInfo(str) 
{ 
if (str=="") 
    { 
    document.getElementById("fields").innerHTML=""; 
    return; 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("fields").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","/php/search/getRow.php?id="+str,true); 
xmlhttp.send(); 
} 

這讓我getRow.php的ID從顯示發送選項值數據庫一個表的輸入,所以一個人可以改變它們的值,現在我有兩個領域需要jQuery-UI自動完成,所以我有這個JavaScript,但它不工作。

這是從getRow.php

<input type="text" name="editname" id="namesearch" value="one"> 
<input type="text" name="editname" id="modelsearch" value="wfmq015"> 

這是我的自動完成功能生成的代碼...

$(function() { 

    //autocomplete 
    $("#namesearch").autocomplete({ 
     source: "/js/namer.php", 
     minLength: 0 
    });  

    $("#modelsearch").autocomplete({ 
     source: "/js/modeler.php", 
     minLength: 1 
    });    

}); 

我想我的問題是,JavaScript是notcatching ID用的時間,因爲這是一個阿賈克斯請求...任何人都可以幫我嗎?

的JavaScript的放置在調用Ajax來得到一些更多的元素融入到它的主網頁...

回答

1

讓人驚訝。看起來你寫了你自己的AJAX調用。相反,我們使用jQuery。保存自己的一些主要的頭痛

function showInfo(str) { 
    $.get("/php/search/getRow.php?id=" + str, function(html) { 
     $("#fields").html(html); 
    }); 
} 

現在,你的第二個問題,問題是你正在使用AJAX來加載你的領域,但加載頁面時被實例化的自動完成。所以,我把這些變成一個功能,並添加到您的AJAX回調

function loadAuto() { 
    $("#namesearch").autocomplete({ 
     source: "/js/namer.php", 
     minLength: 0 
    });  

    $("#modelsearch").autocomplete({ 
     source: "/js/modeler.php", 
     minLength: 1 
    }); 
} 
function showInfo(str) { 
    $.get("/php/search/getRow.php?id=" + str, function(html) { 
     $("#fields").html(html); 
     loadAuto(); 
    }); 
} 
+0

去一個煙霧做好準備,以實現這一點,我將讓你知道在10分鐘非常感謝你:d –

+0

只是沒有謝謝非常! –

相關問題