2016-02-18 20 views
0

我試圖將select選項設置爲ng-repeat中的值嗎?ng-repeat中的Angular.js設置<select>選項

該代碼看起來像'應該'工作,但它沒有設置選擇選項。我錯過了什麼?

​​

,如果你想,藉此JSON:

{ 
    "fruits": [ 
    {"id":1, "name" : "oranges"}, 
    {"id":2, "name" : "bananas"}, 
    {"id":3, "name" : "apples"} 
    ], 
    "orders": [ 
    {"id":1, "name" : "mark", "fruitId" : 2}, 
    {"id":2, "name" : "sean", "fruitId" : 1}, 
    {"id":3, "name" : "dave", "fruitId" : 3}, 
    {"id":4, "name" : "john", "fruitId" : 2} 
    ] 
} 

循環遍歷訂單,並與fruitId填充選擇...有意義嗎?

+2

你真的應該使用'ng-options'。是否有一個原因,它不會綁定到'split'屬性,因爲它在'ng-repeat'中使用?如果是,那麼請將您的JSON添加到問​​題中。 –

回答

0

使用NG選項,你應該能夠做這樣的事情:

<select ng-model='split.ToAdjusterId' ng-options='splitTo.Name for splitTo in splitDetails.PossibleAdjusters track by splitTo.ToAdjusterId' ></select> 

然而,使用NG選項將不會允許你插入一個默認選項中,「 - 選擇One-- 」。要做到這一點,最好的方法,將是確保splitDetails數組中的第一項是等於以下:

{Name:"--Select One--", ToAdjusterId: ""} 

和確保控制器split.ToAdjusterId默認內爲「」。

+0

這不會工作,因爲這些選項在splitDetails.PossibleAdjusters中找到。想象一下你有一系列水果和一系列訂單。您循環訂單並根據訂單水果ID設置水果選項。 – Mark

+0

@Mark,它是否會與我剛推出的編輯一起工作(用「splitDetails.PossibleAdjusters」替換「splitDetails」)? –

+0

這不起作用。這實際上是我嘗試的第一個代碼。它是有道理的,它會起作用。但它不... – Mark