interface utilisateur-sélectionnez désactiver si vide
Je suis un débutant à AngularJS. J'ai une application qui fait un appel API pour obtenir une liste imbriquée de marques, de modèles et années. J'ai créé trois de l'interface utilisateur, sélectionnez les éléments à afficher les résultats de l'appel, à commencer par une liste de voiture fait, le filtrage vers le bas pour les modèles au sein de ce faire, et, enfin, années pour ce modèle. J'aimerais que la deuxième et la troisième sélectionne être désactivé lors de vide, de sorte que les utilisateurs ne peuvent pas essayer de démarrer mon entrer dans un modèle de voiture.
<form class="form-horizontal" ng-controller="instant_quote" ng-submit="loadQuote()" name="quoteform">
<div class="form-group" id="Make">
<label for="Makes" class="col-md-3 control-label">Make</label>
<div class="col-md-9">
<ui-select
id="Makes"
ng-model="request.make">
<ui-select-match placeholder="Enter a Make…">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="choice in makes | filter: $select.search">
<div ng-bind-html="choice.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</div>
<div class="form-group" id="Model">
<label class="col-md-3 control-label">Model</label>
<div class="col-md-9">
<ui-select
id="Models"
ng-model="request.model"
ng-disabled="request.make == 'false'">
<ui-select-match placeholder="Enter a Model…">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="choice in request.make.models | filter: $select.search">
<div ng-bind-html="choice.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</div>
C'est de cette façon que je suis en train de déterminer si chaque liste est vide ou non, en se basant sur Angulaire de l'interface utilisateur, sélectionnez l'espace réservé ne fonctionne pas lorsque ng-model est initalized
Aucun de mes entrées sont désactivées.
OriginalL'auteur Benny Powers | 2015-04-09
Vous devez vous connecter pour publier un commentaire.
J'ai l'habitude d'utiliser ng-désactiver sur myArray.la longueur pour obtenir un 0 ou !0 et l'utiliser comme faux et vrai. Toujours fonctionné pour moi.
Ce sujet dans votre exemple :
Dans votre demande de code.faire serait de retour [] et non pas "faux" ... si j'ai bien compris.
Merci! Dans mon cas, j'ai utilisé ng-disabled="!demande.faire.modèles.longueur" et similaires pour les autres sélectionne.
OriginalL'auteur sebastienbarbier
Dans le cas où vous utilisez des filtres personnalisés, la meilleure solution sera de fonctionner avec l'interface utilisateur, sélectionnez "articles".
OriginalL'auteur hjortron
De ce que je comprends, vous voulez désactiver le sélectionne avec cette expression:
ng-disabled="request.make == 'false'"
.Essayez quelque chose comme ceci:
ng-disabled="request.make == undefined"
et
ng-disabled="!('make' in request)"
.De cette façon, vous pouvez vérifier si faire se retrouve à tous et désactiver le sélectionne dans le cas contraire.
OriginalL'auteur Matthias Nefzger