2016-01-28 19 views
0

我很難理解爲什麼我的Angular <select>不會將缺省值添加到我想要的類別。AngularJS和Select

我有一個從Parse中的數據庫返回的對象;對象是這樣的(這就是「選擇」選項):

$scope.item.category = { id: 'uosDHIF', className: 'Category', name: 'Projects' } 

而且我有一個類別列表也:

$scope.categories = [{ id: 'uosDHIF', className: 'Category', name: 'Games' }, { id: 'uosDHIF', className: 'Category', name: 'Random' }, { id: 'uosDHIF', className: 'Category', name: 'Projects' }] 

在我的HTML我有什麼這是一個選擇是這樣的:

<select name="category" class="form-control mb-10" ng-model="item.category" ng-options="category.name for category in categories"></select> 

我可以選擇一個新的類別,它的分配到項目,然後我可以保存該項目與item.save(),但我有麻煩做什麼,是選擇(NG-模型)沒有按」當我進入頁面時,t似乎工作我第一次總是得到默認的空白選項,即使我登錄控制檯時有類別。另外,我能夠使它與一個我自己創建的簡單對象一起工作,但是這個對象從Parse中的數據庫返回,所以我不確定這是問題還是我只是在那裏失去一些東西。

謝謝你的幫助。

注意:我已經閱讀了類似於我的其他StackOverflow問題,但它們對我沒有幫助。

+0

您是否嘗試過使用'NG-init'? – Kilmazing

回答

1

事實上,在NG選項,您必須指定模型中的價值(類別爲category.name =>您選擇NG-模型範疇,而是由他的名字顯示它)。

通過參考發生匹配,因此您需要相同的對象(類別:$ scope.categories [0])。

你可以試試:

JS

$scope.categories = [ 
    { id: 'uosDHIF', className: 'Category', name: 'Games' }, 
    { id: 'uosDHIF', className: 'Category', name: 'Random' }, 
    { id: 'uosDHIF', className: 'Category', name: 'Projects' } 
]; 

$scope.item = { 
    category : $scope.categories[0] 
}; 

HTML

<select name="category" class="form-control mb-10" ng-model="item.category" ng-options="category as category.name for category in categories"></select> 
+0

它工作完美;我的問題是因爲「類別作爲category.name」如此偉大的解決,非常感謝! – Zeus

0

請更改下面的html ..希望這是有幫助的。

ng-model="item.category.id" ng-options="category.id as category.name for category in categories">