2013-10-28 35 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

只是没有谢谢非常! –

相关问题