Eu quero criar uma marca de seleção com o valor "selecionado". Estou fazendo isso com ng-repeat uma vez que não posso adicionar uma diretiva personalizada para opções-ng. Este é o código.
<select class="ng-valid ng-dirty" ng-model="selectedCity">
<option ng-repeat="city in allCities" value="{{city.id}}" after-render-cities>{{city.name}}</option>
</select>
Isso adiciona uma opção extra com valor =? String: 1? que eu pesquisei muito. Desde a opções-ng resolve esse problema, no entanto, tenho que adicionar a diretiva after-render-cities para cada opção. Como posso resolver esse problema?
Respostas:
0 para resposta № 1Usa isto
<select class="ng-valid ng-dirty" ng-model="selectedCity" ng-options="city.id as city.name for city in allCities">
</select>
para a seleção do primeiro valor, escreva o código a seguir em seu controlador
$scope.selectedCity = $scope.allCities[0].id;
0 para resposta № 2
use ng-init para resolver valor =? string: 1?
<select class="ng-valid ng-dirty" ng-model="selectedCity" ng-init="selectedCity=allCities[0].id">
<option ng-repeat="city in allCities" value="{{city.id}}" after-render-cities>{{city.name}}</option>
</select>
outra escolha que você pode usar selecionado pelo ng violino
<option ng-repeat="(key,city) in allCities" ng-selected="key==0" value="{{city.id}}" after-render-cities>{{city.name}}</option>
</select>
0 para resposta № 3
Experimente este código
Java Script
var app = angular.module("myApp", []);
app.controller("SampleController", function ($scope) {
$scope.Cities = [
{ Id: 1, Name: "New York" },
{ Id: 2, Name: "Colombo" },
{ Id: 3, Name: "Real Madrid" },
{ Id: 4, Name: "Bostan" },
{ Id: 5, Name: "Birmingham" }
];
$scope.City= 3;
});
HTML
<select ng-options="C.Id as C.Name for C in Cities" ng-model="City"></select>
Leia este blog, ele tem tudo explicado.
0 para a resposta № 4
Você pode criar um personalizado directive
usando select
e ng-options
.
Snippet:
JS:
template: "<select ng-options="item.id as item.name for item in list" ng-model="data"></select>",
HTML:
<div select-option list="list" ng-model="data"></div>
Consulte a demonstração Aqui.