145 votes

Comment définir une option sélectionnée de la liste de contrôle à l'aide angular JS

Je suis avec Angular JS et j'ai besoin de configurer une option sélectionnée de la liste de contrôle à l'aide angular JS. Pardonnez-moi si c'est ridicule, mais je suis de nouveau avec Angular JS

Voici la liste déroulante contrôle de mon code html

 <select ng-required="item.id==8 && item.quantity > 0" name="posterVariants"
   ng-show="item.id==8" ng-model="item.selectedVariant" 
   ng-change="calculateServicesSubTotal(item)"
   ng-options="v.name for v in variants | filter:{type:2}">
  </select>

Après il se rempli-je obtenir

 <select ng-options="v.name for v in variants | filter:{type:2}" ng-change="calculateServicesSubTotal(item)"
ng-model="item.selectedVariant" ng-show="item.id==8" name="posterVariants"
ng-required="item.id==8 &amp;&amp; item.quantity &gt; 0" class="ng-pristine ng-valid ng-valid-required">
    <option value="?" selected="selected"></option>
    <option value="0">set of 6 traits</option>
    <option value="1">5 complete sets</option>
</select>

Comment puis-je définir le contrôle de la value="0" pour être sélectionné?

198voto

stevuu Points 3222

J'espère que j'ai bien compris votre question, mais l' ng-model de directive crée une liaison bidirectionnelle entre l'élément sélectionné dans le contrôle et la valeur de item.selectedVariant. Cela signifie que le changement de item.selectedVariant en JavaScript, ou en modifiant la valeur dans le contrôle, la mise à jour des autres. Si item.selectedVariant a une valeur de 0, cet élément doit être sélectionné.

Si variants est un tableau d'objets, item.selectedVariant doit être l'une de ces objets. Je ne sais pas laquelle des informations que vous avez à votre portée, mais voici un exemple:

JS:

$scope.options = [{ name: "a", id: 1 }, { name: "b", id: 2 }];
$scope.selectedOption = $scope.options[1];

HTML:

<select data-ng-options="o.name for o in options" data-ng-model="selectedOption"></select>

Cela laisserait le point "b" pour être sélectionné.

7voto

Tadeusz Wójcik Points 2365

Si vous affectez la valeur 0 à item.selectedVariant il doit être sélectionné automatiquement. Découvrez l'échantillon sur http://docs.angularjs.org/api/ng.directive:select qui sélectionne la couleur rouge, par défaut, par tout simplement l'attribution d' $scope.color='red'.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X