2014-06-06 6 views
0

J'ai écrit le code ci-dessous. Simplement je veux obtenir le tableau source avec ajax de userfunctions.php .. Cela fonctionne mais après quelques millisecondes le div de sélection disparaît. Aussi quand je n'utilise pas $ ('# autocomplete-ajax'). Autocomplete ({.. en cas de succès: il ne fonctionne même pas .. Il voit tableau vide.Que puis-je faire pour résoudre ce problème?jquery autocomplete ne fonctionne pas correctement

J'utilise: 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); 
       } 
      }); 

     } 
    }); 

}); 

Répondre

0

Changer comme ci-dessous et l'ajout de se concentrer sur le fond de la fonction callauto est travaillé

$('#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(); 
} 
!
Questions connexes