réglez la valeur de jquery autocomplete combobox
Je suis en utilisant jquery autocomplete combobox
et tout est ok. Mais je souhaite mettre en valeur spécifique à l'aide de JavaScript comme $("#value").val("somevalue")
et c'set pour sélectionner l'élément, mais pas de changements dans l'élément d'entrée avec la saisie semi-automatique.
Bien sûr, je peux sélectionnez cette entrée et la valeur réglée directement, mais il est d'autres façons de faire? J'essaie de définir lier à this.element
comme this.element.bind("change", function(){alert(1)})
mais il a pas d'effets. Et je ne sais pas pourquoi.
Modifier
J'ai trouvé une solution de contournement pour ce cas. Mais je ne l'aime pas. J'ai ajouté le code suivant à _create fonction de l'interface utilisateur.combobox
this.element.bind("change", function() {
input.val( $(select).find("option:selected").text());
});
Et quand j'ai besoin de changer la valeur que je peux utiliser $("#selector").val("specificvalue").trigger("change");
quel type html? il ressemble <select><option value="1">lalala</option>...</select>
OriginalL'auteur xandox | 2011-06-01
Vous devez vous connecter pour publier un commentaire.
Est démo ce que vous recherchez?
Le lien définit la valeur de l'jQuery UI autocomplete à Java. La priorité est à gauche de l'entrée, de sorte que le clavier normal événements peuvent être utilisés pour naviguer dans les options.
Edit: que diriez-vous d'une autre fonction de la zone de liste déroulante comme ceci:
et de l'appeler avec la valeur que vous souhaitez définir:
mise à Jour de la démo
Je ne trouve aucune disposition d'une fonction existante pour faire ce que vous voulez, mais cela semble fonctionner bien pour moi. J'espère que c'est plus proche du comportement dont vous avez besoin.
OK, je crois que je comprends. Vous êtes à la recherche d'une solution discrète. J'ai ajouté une nouvelle démo qui pourrait être mieux.
yeh. C'est ce que je cherchais. Merci à vous méfier beaucoup.
OriginalL'auteur andyb
J'ai réussi d'une façon rapide et sale de réglage de la valeur. Mais, vous avez besoin de connaître à la fois la valeur et le texte de l'élément que vous souhaitez afficher dans la liste déroulante.
OriginalL'auteur seanfitzg
@andyb,
je pense réécrire:
var selected = ce.de l'élément.les enfants(":selected"); valeur = sélectionnés.val() ? sélectionné.texte() : ""; // il va obtenir le texte de la valeur de l'option qui est sélectionnée pour la valeur d'entrée au lieu de la valeur de l'option
OriginalL'auteur nthaih
J'aime vraiment ce andyb fait, mais j'en avais besoin pour faire un peu plus autour de la gestion des événements pour être en mesure de gérer le déclenchement de l'un des événements de changement de raison "sélectionné" ne traite pas lors de la frappe d'entrée ou de perdre le focus sur l'entrée (cliquer sur l'onglet ou de la souris).
En tant que tel, à l'aide de ce andyb fait, en tant que de base ainsi que la dernière version de jQuery Autocomplete script, j'ai créé la solution suivante: DÉMO
Comment Changer de méthode peut être utlized:
J'espère que cela aide les autres qui ont besoin de davantage d'événement de modification de la fonctionnalité de compenser les lacunes que "sélectionné" laisse ouverte.
OriginalL'auteur Justin Fentress
http://jsfiddle.net/nhJDd/
voici un exemple de travail et de jquery, je suis en supposant que vous souhaitez modifier la valeur d'un select, modifier son texte face et aussi l'avoir choisi au chargement de la page?
#
Tentative 2:
voici un autre violon: http://jsfiddle.net/HafLW/1/ , voulez-vous dire que vous sélectionnez une option, puis vous voulez ajouter cette valeur à la saisie semi-automatique d'une zone de saisie?
ah ok, donc c'est un peu plus clair 🙂
🙂 user763228 regardez la réponse de andyb Il fait presque la bonne chose.
OriginalL'auteur John