La direttiva ng-options può essere utilizzata per generare dinamicamente il contenuto di una select ed andrebbe utilizzata in luogo di ng-repeat, perché offre performance migliori.
Supponiamo di avere una serie di opzioni, all'interno del solito controller:
app.controller('peopleController', ['$scope', function($scope) { $scope.provinces = [ {name:'Milano', area:'Nord', disabled:false}, {name:'Torino', area:'Nord', disabled:false}, {name:'Roma', area:'Centro', disabled:true}, {name:'Bologna', area:'Centro', disabled:false}, {name:'Napoli', area:'Sud', disabled:false}, {name:'Palermo', area:'Sud', disabled:false} ]; // impostiamo la provincia selezionata $scope.currentProvince = $scope.provinces[0]; }]);
Per elencare gli elementi presenti nell'array, ci basterà questa sintassi:
<select ng-model="currentProvince" ng-options="province.name for province in provinces"> <option value="">Seleziona un valore</option> </select>
Utilizzando l'attributo ng-options andiamo a recuperare, utilizzando una particolare sintassi, la proprietà specifica che vogliamo utilizzare. Da notare anche l'uso dell'attributo ng-model, che utilizzeremo per impostare e leggere il valore selezionato e che funziona con il two-way databinding di AngularJS.
Per raggruppare gli elementi in base ad una proprietà, ci basterà utilizzare questa sintassi:
<select ng-model="currentProvince" ng-options="province.name group by province.area for province in provinces"> </select>
Mentre per disabilitare eventuali elementi, dovremo sfruttare questa forma, indicando la proprietà che imposta il campo come disabilitato:
<select ng-model="currentProvince" ng-options="province.name group by province.area disable when province.disabled for province in provinces"> </select>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Ordine e importanza per @layer in CSS
Utilizzare Locust con Azure Load Testing
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Potenziare la ricerca su Cosmos DB con Full Text Search
Eseguire query in contemporanea con EF
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Fornire parametri ad un Web component HTML
Gestire progetti NPM in .NET Aspire
Evitare memory leaks nelle closure JavaScript
Supportare la sessione affinity di Azure App Service con Application Gateway
Testare l'invio dei messaggi con Event Hubs Data Explorer
I più letti di oggi
- Sfruttare i nuovi overload di TimeSpan.From* per creare timespan usando numeri interi
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!