Sélectionné pour sélectionner l'option de menu si la condition est remplie dans AngularJS
<select ng-model="item.value" ng-options="item.name for item in items">
</select>
Permettra de remplir sélectionnez l'option dans AngularJS, mais comment puis-je ajouter selected
si ma condition est remplie?
Je veux faire quelque chose comme ceci:
<select ng-model="item.value" ng-options="item.name for item in items" if="item.name == someValueToCheckAgainst" selected endif>
</select>
Évidemment, le ci-dessus est faux, mais j'essayais de recherche afin de voir si il est possible de faire.
C'est des éléments
var items = [ 'a', 'b', 'c' ];
var someValueToCheckAgainst = 'b';
donc mon menu doit être comme ceci
<select ng-model="item.value">
<option value="a">a</option>
<option value="b" selected>a</option>
<option value="c">a</option>
</select>
Je n'arrive pas à obtenir ce " ng-model="item.valeur"‘ censé faire
mise à jour de ma question @d_z
assurez-vous que toutes les options doivent avoir la même valeur?
oups désolé 😛
vous avez juste à l'objet de l'échange.valeur avec someValueToCheckAgainst dans l'exemple ci-dessus
mise à jour de ma question @d_z
assurez-vous que toutes les options doivent avoir la même valeur?
oups désolé 😛
vous avez juste à l'objet de l'échange.valeur avec someValueToCheckAgainst dans l'exemple ci-dessus
OriginalL'auteur Ali | 2014-04-26
Vous devez vous connecter pour publier un commentaire.
Juste compris cela
c'est ce qui manquait @d_z
ng-selected="{{item == valueToCheckAgainst}}
Mais c'est ce que
ng-model
de<select>
est pour - pour lier la valeur sélectionnée. Comme c'est la liaison bidirectionnelle, vous pouvez définir et modifier. La limite de la propriété de lamodel
sera toujours le reflet de la valeur actuellement sélectionnée. Ainsi, lorsque vous définissezng-model
àsomeValueToCheckAgainst
, c'est la valeur sera toujours la même que la valeur de l'option actuellement sélectionnée, et vice-versa!ah désolé que l'on est supposé être le nom du modèle de la forme présentée. Je suppose que je n'ai pas été clair sur la partie depuis le début.
ne fonctionne pas dans angulaire 6
OriginalL'auteur Ali
Pour moi, cette déclaration n'a pas de sens.
ng-model est valeur actuelle (lié modèle). Si votre 'item' ressemble ’{ valeur, nom } " que vous définissez vos 'select' comme
if
condition pourselected
pas leselect
menupourriez-vous veuillez donner plus de détails sur votre 'items' objet que et ce que vous voulez atteindre?
Merci pour l'aide 🙂 +1 pour vous
OriginalL'auteur d_z
L'option sélectionnée est définie par la valeur de la ng-attribut du modèle. Pour plus d'informations, vous pouvez prendre un coup d'oeil à la documentation officielle https://docs.angularjs.org/api/ng/directive/select.
Vous avez raison bien sûr, mais je trouve cet article absolument terrible pour la compréhension 🙂 surtout dans les cas mentionnés par l'OP
jetez un oeil à l'exemple suivant codepen.io/peaceman/stylo/uLDty cela peut vous aider
Merci pour l'aide 🙂 +1 pour vous
OriginalL'auteur peaceman
Je recommande d'utiliser ng-option directive au lieu de ng-repeat pour sélectionner les cases, car ng-option est créé spécifiquement pour sélectionner la zone et gère les options de la meilleure façon. Et comment on peut définir une valeur par défaut ou conditionnelle valeur de l'option sélectionnée dans ng-option directive est à l'aide de ng-init directive comme ceci:
ng-if
et 2 sélectionnez les éléments, mais les deux choisit de montrer à cause de l'appel d'api (seulement voulez 1).<select ng-if="object.names !== null" id="obj-name" type="text" class="input-group__input" ng-model="response.object.id" ng-options="object.id as object.name for object in object.names" ng-change="object.saveName()"></select>
Pourriez-vous montrer à l'aide deng-init
dans ce code?OriginalL'auteur Tamer Durgun