【发布时间】:2014-08-18 01:13:23
【问题描述】:
我正在使用 jquery 自动完成功能从数据库中获取项目并替换字段。使用 select 函数和一些 AJAX 它将当前信息替换为所需的信息。 但是,我需要它运行两次,而自动完成似乎只运行了 select 函数中的最后一行:
$(document).ready(function($){
$('#client_name').autocomplete({
source:'suggest_client.php',
minLength:2,
select: function (event, ui) {
$("#client_name").val(ui.item.label); // display the selected text
$("#client_nameID").val(ui.item.value); // save selected id to hidden input
var clientValue = ui.item.value;
getAjax(clientValue, 'client_replace', 'client_info.php?client_id=', "");
getAjax(clientValue, 'client_contact_div', 'get_contact.php?client_key=', "");
return false;
}
});
});
getAjax 代码:
function getAjax(seek, getId, destUrl, reset) {
if (seek=="") {
document.getElementById(getId).innerHTML=reset;
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(getId).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",destUrl+seek,true);
xmlhttp.send();
}
【问题讨论】:
-
我感觉这是
getAjax()函数的问题。你能发布它的来源吗? -
添加了 getAjax() 的代码,它可以用于其他几个目的,但我没有尝试像上面那样调用它两次。
标签: javascript jquery ajax autocomplete