angularjs charge option de liste déroulante valeur


j'ai réussi à mettre en place une personne à charge déroulant en utilisant angularjs, mais j'ai un petit problème:

j'ai besoin de définir la valeur de chaque option balise parce qu'il est mis en place automatiquement par angulaire du processeur.

voici mon code html:

            <div ng-controller="CountryCntrl">

                 <select id="country" ng-model="states" ng-options="country for (country, states) in countries"> 
                  <option value=''>Choose</option>
                 </select>

                Departement: 
                <select id="state" ng-disabled="!states">
                <option value="">Choose</option>
                <option ng-repeat="state in states" value="{{state.id}}">{{state.dep}}</option>
                </select>
            </div>

            <br/>
            <input type="submit" value="go">


et voici mon code angularjs:

<script>
    var Aplic = angular.module("Aplic", []);

    Aplic.controller('CountryCntrl', function($scope){

        $scope.countries = {
                        'Aquitaine': [ {'id':'22', 'dep': "Dordogne"}, { 'id':'31', 'dep' : "Gironde"} ], 
                        'Auvergne':  [ {'id' : '3', 'dep' : "Allier"}, {'id' : '15', 'dep' : "Cantal"} ]
                        };            
    });

    </script>

Je le répète, j'ai réussi à configurer la valeur de l'option dans la deuxième liste déroulante, mais pour le premier il prend automatiquement le nom de la variable pays.

alors, comment dois-je modifier mon code pour donner à chaque balise d'option dans la première liste déroulante une valeur spécifique.

de bien comprendre mon idée, s'il vous plaît examinez les valeurs dans chaque liste déroulante. voici mon travail extrait sur plunker:

http://embed.plnkr.co/VBdxGDQNOJSHeGVfloo2/preview

toute aide sera appréciée.


voici ce que je veux faire:

<select id="state" ng-model="cou">
                        <option value="">Choisir</option>
                        <option ng-repeat="cou in countries" value="{{cou.id}}">{{cou.name}}</option>
                    </select>

                    <select id="state" ng-disabled="!cou">
                        <option value="">Choisir</option>
                        <option ng-repeat="state in cou.states" value="{{state.id}}">{{state.dep}}</option>
                    </select>

mais maintenant, la deuxième liste déroulante ne fonctionne pas, si vous pouvez eci que le problemwill être résolu

  • Vous êtes à la recherche à la configuration unique de valeur/code pour la liste des pays? Si oui, vous auriez besoin de modifier la structure de données un peu
  • oui, j'ai besoin de configurer une valeur unique/code pour la liste des pays ( comme c'est fait dans la deuxième liste déroulante ), et certainement il besoin de changer les données stucture
  • Pourquoi auriez-vous besoin de faire cela? Chaque objet lié à l'option est un objet unique. Si vous utilisez ng-model, elle contiendra l'objet spécifique qui a été choisi dans la sélection. Vous n'avez pas besoin de mettre une quelconque valeur dans l'attribut "value" de l'option.
  • Je vais vous expliquer plus; chaque élément de la première liste déroulante représente une région qui disposent d'un code que je dois mettre dans l'option de l'étiquette de valeur( parce que ce morceau de code est une partie d'un formulaire ), mais usinng mon code de la balise option de la valeur est le nom de la région automatiquement comme ceci:<br><option value="Auvergne" label="Auvergne">Auvergne</option> et je dois le faire cette manière par exemple : <option value="32" label="Auvergne">Auvergne</option>
InformationsquelleAutor PyReda | 2015-02-18