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
Supportare la crittografia di ASP.NET Core con Azure Container App
Gestione degli eventi nei Web component HTML
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Controllare la telemetria con .NET Aspire
Referenziare un @layer più alto in CSS
Gestire gli accessi con Token su Azure Container Registry
Creare una libreria CSS universale: Nav menu
Creare una libreria CSS universale: i bottoni
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Creare agenti facilmente con Azure AI Agent Service
Gestire gli errori nelle Promise JavaScript con try()
I più letti di oggi
- Speciale Windows Store app: costruire app con WinRT per Windows 8
- Office 2007 Developer Conference, il 13 e 14 Giugno a Milano
- SQL Server 2000 Security Update for Service Pack 2
- Bloccare un account utente con ASP.NET Identity 2
- Bearer token con autenticazione basata su ruoli in ASP.NET Web API
- Utilizzare MySQL
- Integrare OpenAI tramite Aspire
- Generare un file CSV con GetString
- Forms Authentication con login via Active Directory
- Tutorial LINQ to SQL