2016-03-19 18 views
0

dizi nesnesinin bir isim olarak bir kimliği ve Metin olarak modeli yapabilirsiniz denedim it.I üzerinde bir name gibi bir id ve display text olarak model set nasıl söyle nerede aşağıda gibi.Ama işe yaramıyor.Ne yapabilirim? Teşekkürler.Eğik typeahead ben <a href="http://plnkr.co/edit/j8HYZRN1SafyrI5EMf4g" rel="nofollow">Angular UI Typeahead directive</a> .bu kullanıyorum

Not: test etmek için aşağıdaki kod kalem üzerinde a veya k girin.

CodePen

JS

var states=[{'id':1,'name':'Alabama'},{'id':2,'name':'Kansas'}] 

Html

<input name="states" id="states" type="text" placeholder="enter a state" ng- 
model="selected" typeahead="a.id as a.name for a in states | filter:$viewValue" 
class="form-control"> 

cevap

1

sen çalıştığınızda sorun sadece ng-model içindeki durumunu id seçilmiş koyun o zaman sadece id görünecektir arasında Bu giriş alanı içindeki seçili durum, ng-model yalnızca id değerine sahiptir.

Temel olarak, sadece ng-model içine kimlik girmek yerine tüm nesneyi seçmeniz gerekir. Herhangi bir durum seçildiğinde, a as a.name ifadesi bundan sadece name gösterecektir. Ve id durumundan geçmek istediğinizde selected.id kullanabilirsiniz.

Biçimlendirme

<div class="form-group"> 
    <label for="states">Search for US States</label> 
    <pre>Model: {{selected | json}}</pre> 
    <input name="states" id="states" type="text" 
    placeholder="enter a state" ng-model="selected" 
    typeahead="a as a.name for a in states | filter:$viewValue" 
    class="form-control"> 
</div> 

Forked Codepen

+0

teşekkürler lot.One soru düşünce: Sonra olmayan bir varolan öğeyi yazın çalıştığımda list.But bir öğe seçmek zaman düzgün şekilde çalışıyorsa "model" bir nesne olarak çalışmaz. Bu şunun gibi gösterilir: "selected:" wsdef ".Bunu da göstermek için herhangi bir yol var:" selected: id: null, name: "wsdef" veya diğer senaryo gibi bir nesne olarak mı? Teşekkürler. – Sampath

İlgili konular