Vider le premier élément de la liste déroulante
Je suis assez débutant avec AngularJS et actuellement je travaille sur une application web dans Django où j'utilise AngularJS pour la partie frontend que je peux dire. Mon problème est que la liste déroulante qui est remplie avec des objets d'une portée commence toujours par un élément vide (si j'en sélectionne un dans la liste, le problème est parti). Cela crée des problèmes car si l'utilisateur ne sélectionne rien, la requête POST ne fonctionnera normalement plus. Je voudrais savoir comment avoir quelque chose comme une valeur présélectionnée ou quelque chose de similaire. Voici une partie de mon code:
Sélectionnez le tag:
<select id="sel" class="input-block-level" ng-model="list_category">
<option ng-repeat="obj in list_categories.data" value="{{obj.id}}">{{obj.name}}</option>
<option value="Other">Other</option>
</select>
$ scope.list_categories:
var listcategoryPromise = ListCategory.get();
listcategoryPromise.then(function(response) {
$scope.list_categories = {
meta : response.data.meta,
data : response.data.objects
};
});
Utilisez la directive ng-options
et supprimez l' value
option 'Autre', comme ceci:
<select id="sel" class="input-block-level" ng-model="list_category" ng-options="obj.id as obj.name for obj in list_categories.data">
<option value="">Other</option>
</select>
Cela garantit que si list_category
est vide (aucune entrée sélectionnée), l'option «Autre» est sélectionnée (par défaut).
jsFiddle : http://jsfiddle.net/bmleite/gkJve/