2011-04-14 6 views
1

Nous utilisons le autocomplete combobox pour un projet et définissons une liste de sélection avec des options ajoutées à partir d'un appel à une API. J'ajoute une première option de 'tout' que j'ajoute aussi l'attribut sélectionné mais la liste déroulante ne choisit pas cela et affiche 'Tout' dans la boîte une fois chargée. J'ai essayé de régler le val de la combobox à la valeur 'All' aussi, après que ça a été lié mais je n'ai pas eu de joie là-bas. Comment puis-je sélectionner une valeur par défaut?Comment définir une valeur comme sélectionnée avec jQuery autocomplete combobox

Répondre

0

Je pense que vous devriez être en mesure de mettre juste l'un des éléments <option> tels que sélectionnés de la manière habituelle:

<option value="x" selected="selected">Stuff</option> 

Vous devez faire cela avant de se lier à la combobox <select>. Si vous regardez la source de la zone de liste déroulante, vous verrez ceci:

var self = this, 
    select = this.element.hide(), 
    selected = select.children(":selected"), 
    value = selected.val() ? selected.text() : ""; 

var input = this.input = $("<input>") 
       .insertAfter(select) 
       .val(value) 
       /* ... */ 

Il recherche les enfants sélectionnés et définit la valeur de la saisie de texte à ce qu'il trouve avec une chaîne vide comme solution de repli. Le défaut "sélectionner le premier élément" qu'un élément <select> utilise n'est pas utilisé ici, cependant, vous devez marquer explicitement un <option> comme sélectionné ou le sélecteur :selected ne le sélectionnera pas.

Questions connexes