2010-11-15 7 views
2

J'ai une réponse JSON à partir du fichier php.JSON pour Jquery autocomplete

[{ "name": "Kiev"}, { "NAME": "métro Kiev "}, { "NAME": "Kiev-Dnepro"}, { "NAME": "Kiev-Dnepro "}, {" NAME ":" Kiev-Donetsk "}, {" NAME ":" Kiev-Donetsk "}

Comment puis-je utiliser pour autocomplete norme Jquery? La fonction de saisie semi-automatique fait la demande mais il semble qu'elle ne peut pas analyser la réponse pour ce json (le tableau simple fonctionne bien). Aidez-moi s'il vous plaît


Derin, oui c'est tout. Fonctionne bien! Mais maintenant je veux le modifier un peu. J'obtenir plus de données en réponse et je voudrais afficher près de la principale entrée autocomplete

var infoGISName = null; 
var infoGISType = null; 
var infoGISLocationID = null; 
var infoGISParentID = null; 

$('#GISName').autocomplete({ 
     source: function(request, response) { 
       $.getJSON("autocomplete.php", { term: 
    request.term }, function(result) { 
        response($.map(result, function(item) { 
         infoGISName = item.NAME; 
         infoGISType = item.GIS_TYPE; 
         infoGISLocationID = item.LOCATION_ID; 
         infoGISParentID = item.PARENT_ID; 
         return item.NAME; 
        })); 
       }); 
      }, 
     change: function(event, ui) { 
      $('#infoGISName').html(infoGISName); 
      $('#infoGISType').html(infoGISType); 
      $('#infoGISLocationID').html(infoGISLocationID); 
      $('#infoGISParentID').html(infoGISParentID); 
     }, 
     minLength:3 

     }); 
}); 

Comment modifier les données dans les champs quand j'ai changé le texte en entrée autocomplete? Maintenant, je vois que les dernières valeurs de JSON recordset

+0

quel plugin Utilises-tu? Ou est-ce [jQuery UI Autocomplete] (http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/)? –

+0

Si c'est la réponse réelle alors cela ne fonctionnera pas de toute façon car il manque la parenthèse finale et n'est donc pas un tableau valide. –

+0

Pouvez-vous également nous montrer un peu plus du code que vous utilisez avec ceci afin que nous puissions voir l'image complète? –

Répondre

6

Vous pouvez utiliser l'option formatItem:

$('#foo').autocomplete({ 
    url : '/foo', 
    formatItem: function(item, position, length) { 
     return item.NAME; 
    } 
}); 

Pour le jquery ui autocomplete est ici comment vous pourriez y parvenir:

$('#foo').autocomplete({ 
    source: function(request, response) { 
     $.getJSON('/foo.php', { q: request.term }, function(result) { 
      response($.map(result, function(item) { 
       return item.NAME; 
      })); 
     }); 
    } 
}); 
+0

J'essaie d'utiliser http://jqueryui.com/demos/autocomplete/ parce que je télécharge le pack JUI complet – Castro

+0

Me recommandez-vous d'en utiliser un autre? – Castro

+0

@Castro, s'il vous plaît voir ma mise à jour pour un exemple avec jqueryui autocomplete. –