2014-06-06 137 views
0

我写下面的代码。简单地说,我想从userfunctions.php中获取ajax的源数组。它可以工作,但几毫秒后,选择div就会消失。当我不使用$('#autocomplete-ajax')。autocomplete({..成功:它甚至不能工作..它看到数组为空。我能做些什么来解决这个问题?jquery自动完成功能无法正常工作

我使用: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); 
       } 
      }); 

     } 
    }); 

}); 

回答

0

改变它像下面和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(); 
} 
相关问题