Le nom "terme" par défaut passé dans la fonction "remplissage automatique de l'interface utilisateur jquery" doit-il être modifié?

J'essaie de modifier le champ «terme» qui est défini par défaut avec la fonction de remplissage automatique jquery ui. Est-il possible de le changer facilement en «q» (requête) sans aller et le changer dans le fichier «core»?

JavaScript:

<script> $(function() { $( "#spotify_song_search" ).autocomplete({ source: "http://ws.spotify.com/search/1/track.json", data: { q: request.term }, dataType: "getjson", minLength: 3, select: function( event, ui ) { alert('select'); } }); }); </script> 

Oui, c'est possible en faisant votre propre demande AJAX.

Supposons que vous avez la configuration suivante:

 $("#myfield").autocomplete({ source: '/my_url/myservice.xyz' }); 

L'autocomplète par défaut (comme vous l'avez remarqué) envoie des demandes qui ressemblent à:

Myservice.xyz?term=abc "

Vous pouvez fournir une référence de fonction à l'option source de l'autocomplète. A l'intérieur de cette fonction, vous pouvez faire votre propre demande AJAX, qui ressemblerait à ceci:

 $("#myfield").autocomplete({ source: function (request, response) { // request.term is the term searched for. // response is the callback function you must call to update the autocomplete's // suggestion list. $.ajax({ url: "/my_url/myservice.xyz", data: { q: request.term }, dataType: "json", success: response, error: function () { response([]); } }); }); }); 

Cela devrait générer une demande qui ressemble plus à:

Myservice.xyz?q=abc

Vous pouvez utiliser l'option source rappel et faire votre propre demande.

http://jqueryui.com/demos/autocomplete/