2010-07-07 5 views
3

Je fais quelque chose qui implique l'auto-complétion ajax des phrases dans un <textarea>. J'ai bien fonctionné en utilisant le plugin jQuery autocomplete; cependant, il est codé en dur dans ceci pour placer le popup ci-dessous le <textarea>.Ajax auto-complete, avec un emplacement contextuel sur mesure

Pour ce sur quoi je travaille, le <textarea> se trouve en bas de la page; Je souhaite idéalement que les options apparaissent dessus le <textarea>.

Existe-t-il un script de saisie semi-automatique existant (et semi-décent) qui permettrait cela? Mes autres options sont:

  • essayer de le repositionner après le fait d'utiliser plus jquery
  • pirater le code du plugin en pièces pour le repositionner
  • écrire quelque chose à partir de zéro (Cela paraît simple, mais il y a quelques nuances dans un décent autocomplete)

Suggestions?


Pour info, voici ce que j'ai fini avec:

#known-parent .ac_results 
{ 
    position: fixed !important; 
    top: auto !important; 
    bottom: 80px !important; 
} 

Répondre

4

Ce n'est pas la solution la plus propre au monde, mais vous pouvez écraser les propriétés de style que le plugin autocomplete écrit en utilisant "! Important" dans votre css.

Les styles appartiennent en CSS autant que possible de toute façon. Si je me souviens bien, le plugin définit la valeur "top" dans l'attribut "style" de la div autosuggest.

Dans votre css vous devriez être en mesure de le faire:

#whatever_the_id_of_the_box_is { 
    position: absolute !important; 
    top: {{ whatever value you want here }} !important; 
} 
+0

essayer cela maintenant ... –

+0

Splendid; merci énormément. –

1

Pouvez-vous changer le CSS de la fenêtre contextuelle et attribuer des valeurs négatives à la marge supérieure? Cela devrait déplacer le contenu vers le haut, mais vos résultats sembleront un peu bizarre car les valeurs pertinentes seront sur le dessus.

Ne serait-il pas également possible d'éditer le plugin autocomplete pour éditer le style du conteneur et déplacer l'emplacement de la boîte? Je ne pense pas que ce serait trop difficile, mais je n'ai pas vu ce plugin depuis un moment.

<div style="display: none; position: absolute; width: 151px; top: 21px; left: 91.65px;" class="ac_results"></div> 

Vous devrez ajuster cela dans le code du plugin.

Modifier: Je ne recommanderais pas cela. Il devrait y avoir un moyen d'inverser l'ordre des résultats dans le plugin de l'interface utilisateur. Faites cela, et changez les valeurs de style, et vous devriez avoir un jeu de résultats d'aspect net. J'ajouterai le code exact quand j'aurai une chance

Questions connexes