我已经在下面编写了代码。我只是想从userfunctions.php获取带有Ajax的源数组。它可以工作,但几毫秒后,选择div消失了。另外,当我不使用$('#autocomplete-ajax')。autocomplete({..成功时:它甚至无法工作。
我正在使用:https : //github.com/devbridge/jQuery-Autocomplete
$('#autocomplete-ajax').keyup(function(){
var ara = $(this).val();
var ara= ara.replace("@", "");
var data = "action=get_auto_users&text="+ara;
var arr = new Array();
$.ajax({ url: '/inc/userfunctions.php',
data: data,
type: 'post',
success: function(output) {
obj = JSON.parse(output);
arr = new Array();
$.each(obj, function(key, value) {
arr.push(value[2])
});
$('#autocomplete-ajax').autocomplete({
lookup: arr,
lookupFilter: function(suggestion, originalQuery, queryLowerCase) {
var re = new RegExp('\\b' + $.Autocomplete.utils.escapeRegExChars(queryLowerCase), 'gi');
return re.test(suggestion.value);
},
onHint: function (hint) {
$('#autocomplete-ajax-x').val(hint);
}
});
}
});
});
如下更改它并在callauto函数的底部添加焦点是可行的!
$('#autocomplete-ajax').keyup(function(){
var ara = $(this).val();
var ara= ara.replace("@", "");
var data = "action=get_auto_users&text="+ara;
$.ajax({ url: '/inc/userfunctions.php',
data: data,
type: 'post',
success: function(output) {
obj = JSON.parse(output);
arr = new Array();
$.each(obj, function(key, value){
arr.push(value[2]);
});
callauto(arr);
}
});
});
function callauto(arr){
$('#autocomplete-ajax').autocomplete({
lookup: arr,
lookupFilter: function(suggestion, originalQuery, queryLowerCase) {
var re = new RegExp('\\b' + $.Autocomplete.utils.escapeRegExChars(queryLowerCase), 'gi');
return re.test(suggestion.value);
},
onHint: function (hint) {
$('#autocomplete-ajax-x').val(hint);
}
});
$('#autocomplete-ajax').focus();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句