jQuery Autocomplete à l'aide de extraParams passer supplémentaires à OBTENIR des variables
Je me réfère spécifiquement à la jQuery Autocomplete v1.1 plugin par Jörn Zaefferer [source: http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/] comme il semble y avoir assez peu de variations de ce plugin.
Je suis en train de passer des paramètres supplémentaires pour le serveur lorsque l'utilisateur commence à taper parce que j'ai plusieurs champs que je veux de saisie semi-automatique pour fournir des suggestions pour.
En plus de la requête, je veux envoyer l'attribut de nom pour le serveur mais je n'arrive pas à utiliser $(this).attr('name') à l'intérieur de la extraParams.
Mon jQuery:
$('.ajax-auto input').autocomplete('search.php', {
extraParams: {
search_type: function(){
return $(this).attr('name');
}
}
})
C'est mon HTML.
<form method="post" action="#" id="update-form" autocomplete="off">
<ol>
<li class="ajax-auto">
<label for="form-initials">Initials</label>
<input type="text" id="form-initials" name="initials" />
</li>
<li class="ajax-auto">
<label for="form-company">Company</label>
<input type="text" id="form-company" name="company" />
</li>
</ol>
</form>
Des suggestions?
Vous devez vous connecter pour publier un commentaire.
Je suis l'aide de la fonction d'auto-complétion, qui fait maintenant partie de jquery ui.
En passant d'une " extraParams champ ne fonctionne pas, mais vous pouvez simplement ajouter les valeurs dans la demande de la chaîne de requête.
Essayez ceci:
Voir aussi ici
Vous pouvez utiliser le construit en jquery ui autocomplete comme suit:
Voici leur jsonp exemple: http://jqueryui.com/demos/autocomplete/#remote-jsonp
J'ai eu un Problème similaire... ne sais pas si il va travailler pour vous ....
J'Ai Essayé
CACHELENGTH:0 a fait le tour
Grâce
Alors que moins d'un idéal, j'ai piraté/modifié le plugin pour le faire fonctionner pour moi.
Simplement, j'ai modifié la fonction jQuery AJAX dans le plugin.
Autour de la ligne 363 vous verrez:
Je suis toujours à la recherche d'une solution élégante à ce, alors n'hésitez pas à garder des suggestions à venir.
Fonctionne pour moi avec jquery.l'interface utilisateur.la saisie semi-automatique 1.8.17
À l'aide de la saisie semi-automatique dans JQuery 1.7.quelque chose...
À l'aide d'un aspx grille de données: j'ai besoin de la saisie semi-automatique d'incendie pour tout dossier choisi, mais avec des graines de données fondées sur la valeur entrée. J'ai aussi besoin de deux autres champs qui sont affichés dans le dossier sur la grille de données pour récupérer mes données pour la saisie semi-automatique.
Les champs j'ai besoin de faire référence à tous d'avoir leur propre nom de classe.
J'ai ajouté deux propriétés; DateTime et Maker, puis à l'aide de la recherche: qui est déclenché avant la saisie semi-automatique des feux de la source: j'ai été en mesure d'obtenir les données dont j'ai besoin à partir de la ligne que j'ai été sur. Cela m'a fourni une belle façon de garder tous mes recherche et extra éléments de données en un seul endroit.
L' .parent().parent() et ainsi de suite est parce que j'ai plusieurs ligne de tableaux pour afficher mes données dans le contrôle gridview et j'ai besoin de traverser la hauteur de l'arbre, et ensuite trouver la zone de texte ou une étiquette, je suis à la recherche pour et changer la couleur d'arrière-plan de la ligne avec les données modifiées. Je ne suis pas compétent dans la recherche d'éléments avec jQuery mais le parent.parent... chose.
En ce qui concerne le plus de vote réponse, je pense qu'il est beaucoup plus simple syntaxe simplement en ajoutant le supplément de valeur de la requête dans l'url de la source.
Ce:
fait la même chose que:
étant donné que la src est une chaîne d'url.
Je ne suis pas sûr pourquoi il ne fonctionne pas.
Mais vous pouvez d'abord vérifier/debug pour la valeur de
$(this).attr('name')
.Aussi une chose de plus que expliquée ici [dans l'onglet options], vous pouvez vérifier avec Firebug à voir ajax requête post(pour les url et les données) qui vous aidera à résoudre le problème.
utiliser un .chaque d'abord, puis vous pouvez utiliser $(ce) et de définir ce dont vous avez besoin dans une variable. la variable qui en découle peut être utilisé dans la saisie semi-automatique
J'ai eu le même problème, mais curieusement, seulement avec la version compacte de la saisie semi-automatique du plugin. Lorsque j'ai utilisé la non-version minifiée, il fonctionne. Je n'ai pas regardé la version minifiée encore à voir ce que la différence peut être.
Essayer avec
Je comprends que sa fait déjà répondu. mais j'espère que cela va aider quelqu'un dans le futur et qui sauve beaucoup de temps et de la douleur.
(you can replace 'CRM.$' with '$' or 'jQuery' depending on your jQuery version)
code complet est ci-dessous: j'ai une zone de texte pour faire la saisie semi-automatique dans CiviCRM. Espérons que cela aide quelqu'un
Code PHP sur la façon dont je suis le renvoi de données à ce jquery ajax appel de la saisie semi-automatique: