2015-11-19 74 views
1

我已經得到了選擇設置中選擇值

<select class="form-control input-sm" id="drpState" 
data-ng-model="vm.complainant.mState" 
data-ng-options="state.abbreviation for state in vm.states track by vm.complainant.mState"> 

這個代碼,我已經試過,我已經經歷了這麼看到一對夫婦不同的方式,但沒有似乎設置選項在下降。有50個選項,它應該選擇當前在vm.complainant.mState中的選項。

我從RESTful API中獲取狀態數組。狀態縮寫顯示得很好。但應該由我的vm.complainant模型選擇一個。這是從API獲取的另一個對象,該對象正確填充。申訴人有一個pState屬性,可以說它是作爲MN返回的,但無論出於何種原因,我無法通過Jquery或通過模型設置該下拉列表的選定值。

當我更改該值時,它會更新像設置綁定到模型時應該的那樣更新了complainant.mState屬性。但爲什麼我不能選擇一個值?

+0

'vm.complainant.mState =「MN」;'應設置值。 – tymeJV

+0

我試圖讓select來設置當前mState的選定值。當表單已經加載vm.complainant.mState =「MN」時。但它不會在選擇控件中選擇它,它的空白處應該選擇MN。 – Dylan

回答

0

在您的選項開始處添加state.abbreviation as

<select class="form-control input-sm" id="drpState" 
data-ng-model="vm.complainant.mState" 
data-ng-options="state.abbreviation as state.abbreviation for state in vm.states"> 

如果沒有「as」語句,您將綁定完整對象作爲值。

這對於像item.id as item.description for item in vm.items這樣的時間很常見,它會將id綁定到您的模型,但會在下拉列表中顯示說明。

更新:在看到Dylan的評論後,我嘗試了一次重擊並刪除跟蹤通過解決問題。請參閱plunkr

+0

我試過了。現在它會自動選擇下拉菜單中的最後一個狀態「WY」,並且在更改時不會更新vm.complainant.mState,無論出於何種原因。我不知道爲什麼這不起作用。 – Dylan

+0

@Dylan我還沒有充分調查Track By子句來了解原因,但刪除它似乎阻止了最後一項被選中。 –

+0

@Dylan,通過爲您解決問題來解決問題,就像它爲我做的那樣? plunkr有一個下拉工作的例子,並預設爲初始值。檢查一下plunkr。 –