Neden angularjs seçin boş bir seçenek içerir
Çalışıyorum ile açısal için son birkaç hafta ve bir şey gerçekten canımı sıkan bu denemelerine rağmen tüm permütasyon veya yapılandırma tanımlanan spec http://docs.angularjs.org/api/ng.directive:select bana hala boş bir seçenek olarak ilk çocuk elementi seçmek.
İşte Yeşim
select.span9(ng-model='form.type', required, ng-options='option.value as option.name for option in typeOptions');
Burada denetleyicisi
$scope.typeOptions = [
{ name: 'Feature', value: 'feature' },
{ name: 'Bug', value: 'bug' },
{ name: 'Enhancement', value: 'enhancement' }
];
Son olarak, burada oluşturulan alır HTML
<select ng-model="form.type" required="required" ng-options="option.value as option.name for option in typeOptions" class="span9 ng-pristine ng-invalid ng-invalid-required">
<option value="?" selected="selected"></option>
<option value="0">Feature</option>
<option value="1">Bug</option>
<option value="2">Enhancement</option>
</select>
Benim için ondan kurtulmak için ne yapmam lazım?
P. S. bu Şeyler olmadan iyi bir iş, ama eğer birden fazla seçim olmadan select2 kullanırsanız sadece garip görünüyor.
CEVAP
option
boş bir değer ng-model
tarafından başvurulan seçenekleri ng-options
geçirilen bir dizi yok oluşturulur. Bu kaza sonucu model seçimi önlemek için olur: AngularJS ilk modeli tanımsız veya seçenek kümesi olduğunu görebilir ve kendi değer modeline karar vermek istemiyorum.
Eğer boş seçeneği kurtulmak sadece sizin denetleyicisi bir başlangıç değeri seçin almak istiyorsanız, gibi bir şey
$scope.form.type = $scope.typeOptions[0].value;
Burada jsFiddle: http://jsfiddle.net/MTfRD/3/
Kısacası: boş seçeneği geçerli bir model (geçerli demek: seçenekleri ayarlayın) seçili olduğu anlamına gelir. Bu boş seçeneği kurtulmak için geçerli bir model bir değeri seçmek gerekir.
AngularJS : ng-bind daha iyi olduğunu ...
Nasıl seçin kutusunda varsayılan seçen...
Angularjs form içinde bir düğmesi sayf...
Neden bir yerine SEÇENEK bir istek tal...
Seçin öğesi seçili seçenek olsun...