12
votes

Changer de la sélection avec jQuery Select ne montre pas l'option sélectionnée

J'ai une forme cachée avec quelques champs de sélection et certains champs de saisie. Cliquez sur le bouton sur lequel doit indiquer ce formulaire et définir des valeurs dans les champs. Les champs d'entrée sont remplis de valeurs données, mais j'ai un problème avec Sélectionner des champs.

Utilisation de ce code: P>

<form action="#" id="form" class="fix" style="display:none">
<div class="holder">
    <label>User:</label>
    <select name="user" class="styled">
        <option value="0">Choose</option>
        <option value="1">User 1</option>
        <option value="2" selected>User 2</option>
        </select>
    </div>
</form>


1 commentaires

Cela fonctionne avec JQuery 1.8.3 et 1.9.0


6 Réponses :


0
votes

Le formulaire '# # Sélectionnez [nom = utilisateur]' tente de choisir un Élément qui est l'enfant d'un formulaire, par exemple: xxx


1 commentaires

Nous avons deux formes et c'est pourquoi nous utilisons ID pour le formulaire. J'ai mis la forme pour simplifier l'exemple. Cette partie fonctionne comme elle devrait. :)



35
votes

J'ai trouvé une solution. J'ai oublié d'appeler un événement de changement pour. Je ne savais pas que JQuery ne le fait pas automatiquement. Donc, le code de solution est le suivant: xxx


2 commentaires

Ne travaille pas pour moi


@jovica a passé près de 3 heures à résoudre ce problème et votre réponse m'a aidé même après 10 ans. Merci. :)



3
votes

J'ai eu le même problème. Chez http://api.jquery.com/attr/ , il y a quelques notes sur .Prop ( ) méthode plutôt .attr (). De plus, comme la réponse de Jovica, l'option modifiée n'apparaît que dans Firefox (20.0 est ma version) si nous utilisons la méthode .change () à la fin.


1 commentaires

Merci d'avoir mentionné la méthode .prop (). J'ai eu un bug ici parce que j'utilisais .attr () au lieu de .prop () et de changer la méthode fonctionnée.



14
votes

J'avais le même problème avec Tag HTML Drop Dropdown . Et a eu la solution. Ce que j'aniste pendant l'utilisation .Change (), .attr () et .Prop () est partagé ci-dessous.

  1. .Change () : quand j'ai utilisé .Change () ne fonctionnera pas dans mon cas, il n'est donc pas fiable. Également la version de la version du navigateur.
  2. .attr () : Quand j'ai utilisé .attr () méthode / fonction, par exemple, par exemple. $ (option # db_service [valeur = 1] '). attr (sélectionné', "sélectionné"); Analyse: IT Définit l'attribut d'option de sélection de la balise à sélectionner = sélectionné lorsque j'ai vu le code source. Mais les changements d'écran ne sont pas apparus.
  3. .prop () : quand j'ai utilisé .prop () méthode / fonction, par exemple, par exemple. $ (option # db_service [valeur = 1] '). PROP ("sélectionné", "sélectionné"); Analyse: Il ne doit pas définir l'attribut d'option de sélection de la balise à sélectionner = sélectionné lorsque j'ai vu le code source. Mais à l'écran, des changements sont apparus.

    ma solution: Utilisé à la fois .Attr () et .Prop () pour un résultat plus parfait

    $ (option # db_service [valeur = 1] '). Attrib (sélectionné "," sélectionné "); $ (Option # db_service [valeur = 1] '). PROP ("sélectionné", "sélectionné");
    $ ('# db_service'). Val ("1"). Modifier ()


2 commentaires

Vous pouvez combiner ci-dessous à une ligne unique en utilisant la sérialisation. $ ('# db_service option [valeur = 1]'). ATTR (sélectionné "," sélectionné "); $ ('# db_service option [valeur = 1]'). PROP ("sélectionné", "sélectionné");


Utilisez à Attr et ProP résolu mon problème Merci (je devais devenir fou de ce problème)



1
votes

J'ai eu le même problème, j'essayais de changer l'option sélectionnée d'une sélection sous un formulaire caché.

Le .attr (attribut, valeur) ne fonctionnait pas car l'option affichée n'apparaissait pas que l'attribut sélectionné a été correctement mis à jour. Le .prop (propriété, valeur) a fait le tour.


0 commentaires

1
votes

Je voulais mentionner que j'ai tout essayé ici et que j'ai ajouté la ligne suivante juste au-dessus de $ ("# formulaire sélectionnez [nom = utilisateur]"). Val (valeur); a travaillé pour moi: xxx


0 commentaires