J'utilise JQuery Autocomplete Combobox
Et tout va bien. Mais je veux aussi définir une valeur spécifique via JavaScript comme Bien sûr, je peux sélectionner cette entrée et définir la valeur directement, mais est-ce d'autres moyens de le faire? J'essaie de définir lié à edit strong> p> J'ai trouvé une solution de contournement pour ce cas. Mais je n'aime pas ça. J'ai ajouté le code suivant à la fonction Create pour UI.COMBOBOX P> $ ("# valeur"). Val ("Quelconte") code> et il est défini sur l'élément sélectionné, mais aucune modification de l'élément d'entrée avec autoocomplète.
this.Element code> comme
this.element.bind ("modifier", fonction () {alerte (1)}) code> mais ce n'était pas d'effets. Et je ne sais pas pourquoi. P>
this.element.bind("change", function() {
input.val( $(select).find("option:selected").text());
});
5 Réponses :
http://jsfiddle.net/nhjdd/ Voici un exemple de travail et jQuery, je suppose que vous souhaitez modifier la valeur d'un SELECT, modifier sa face de texte et également l'avoir sélectionné au chargement de la page? P>
#
p> tentative 2: p> Voici un autre violon: http: // jsfiddle.net/haflw/1/ , voulez-vous que vous choisissiez une option, vous souhaitez ajouter cette valeur à l'autocomplete d'une zone d'entrée? P> $(".document").ready(function(){
someString = "this,that";
$("input").autocomplete({source: someString.split(",")});
$("select").change(function(){
alert($(this).val()+" appended");
someString = someString+","+$(this).val();
$("input").autocomplete({source: someString.split(",")});
});
});
:) En fait non. Je veux suivre. Si i Cal $ ("# Select"). Val ("Quelqu'un) (" Quelqu'un "existe déjà dans certaines options de sélection), entrée (élément ajouté avec autocomplete) change de texte aussi
:) user763228 b> Regardez la réponse par Andyb B> Il fait presque la bonne chose.
est cette démo forte> ce que vous recherchez?
La liaison définit la valeur de l'auto-autocomplete JQuery UI sur Java em>. L'accent est laissé sur l'entrée de sorte que les événements de clavier normaux puissent être utilisés pour naviguer sur les options. P> et l'appelant avec la valeur que vous souhaitez définir: p> Je ne trouve aucune fonction existante disponible pour faire ce que vous voulez, mais cela semble Travailler bien pour moi. J'espère que c'est plus proche du comportement dont vous avez besoin. P> p>
Oui. C'est un comportement approprié mais pas complet. Vous ne devriez pas oublier appeler $ ("# comboBox"). Val ("Java"). Regardez mon édition pour la question. J'ai trouvé de la solution de contournement. Mais je ne devrais pas oublier la fonction de déclenchement d'appel, et c'est inconfortable.
Ok, je pense que je comprends. Vous recherchez une solution discrète. J'ai ajouté une nouvelle démo qui pourrait être meilleure.
yeh. C'est ce que j'ai cherché. Merci beaucoup.
Je ne sais pas pourquoi, mais je n'obtiens que ça ne fonctionnait que comme $ (fonction () {$ ('# comboBox'). Combobox ("autocomplete", "Java");}); code>
J'ai géré une manière rapide et sale de définir la valeur. Mais vous devez connaître à la fois la valeur et le texte de l'élément que vous souhaitez afficher sur la liste déroulante.
var myValue = foo; // value that you want selected var myText = bar; // text that you want to display // You first need to set the value of the (hidden) select list $('#myCombo').val(myValue); // ...then you need to set the display text of the actual autocomplete box. $('#myCombo').siblings('.ui-combobox').find('.ui-autocomplete-input').val(myText);
J'aime beaucoup ce que l'Andyb a fait, mais j'avais besoin de faire un peu plus autour de la manipulation des événements pour pouvoir gérer le déclenchement de l'événement d'un changement car "sélectionné" ne gère pas lors de la saisie ou de la perte de mise au point sur l'entrée ( Frapper l'onglet ou la souris clic).
En tant que tel, en utilisant ce que Andyb a fait en tant que base ainsi que la dernière version du script JQuery Autocomplecte, j'ai créé la solution suivante: démo strong> p> Comment la méthode de changement peut être utilisée: p> Espérons que cela aide les autres personnes ayant besoin de fonctionnalités d'événement de changement supplémentaires pour compenser les feuilles "sélectionnées". p> p>
@andyb,
Je pense que réécrire:
var sélectionnée = ceci.Element.children (": sélectionné"); Valeur = sélectionné.val ()? sélectionné.text (): ""; // une valeur de texte de l'option sélectionnée pour la valeur d'entrée au lieu de la valeur de l'option
Quel genre HTML? Il ressemble à