【发布时间】:2016-04-30 17:11:38
【问题描述】:
我遇到了一个让我发疯的问题,我不是 javascript 专家,我敢肯定,答案很简单。
我使用 jquery ui aucomplete,并使用从 Ajax 获取的数据。 只有当我删除单词并重新键入它时,我才会得到我想要的结果。
有一些屏幕和我的帮助代码:)
var noms = new Array();
function pushNoms(nom) {
noms.push(nom);
console.log(noms);
}
function ajaxRequest() {
var $search = $('#searchListDossier');
var request = '?objet=dossier&action=autoComplete&search=' + $search.val();
var xhr = new XMLHttpRequest();
xhr.open('GET', request);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.responseType = 'json';
xhr.addEventListener('load', function() {
//crea tableau
for (var i = 0; i < this.response.length; i++) {
pushNoms(this.response[i].nom);
}
});
xhr.send();
}
$('#searchListDossier').donetyping(function() {
ajaxRequest();
console.log(noms);
$('#searchListDossier').autocomplete({
source: noms
});
});
【问题讨论】:
-
非常困惑为什么你选择使用
XMLHttpRequest而不是$.ajax当你已经在使用jQuery...但无论如何...你看过网站上的例子吗用于远程数据? jqueryui.com/autocomplete/#remote -
欢迎来到 Stack Overflow。此示例代码似乎并不完整。
autocomplete代码在哪里? -
自动完成是一个 jquery ui 功能:jqueryui.com/autocomplete
标签: javascript jquery ajax jquery-ui