2017-06-21 104 views
1

我對$ scope.data中的值沒有更改存在問題。 你可以在的jsfiddle看到 - jsfiddle

如果設置Currency: 'UAH'後,你將設置Currency: 'RUB'你會看到Qty:2價值將等於'UAH'這樣的值:prix = {"qty":"2","amount":"1276 UAH"}

如何設置的價值到$ scope.data?

P.S:與AngularJs 1.2.23它的工作正確

謝謝。

回答

1

正如@Umer說,你不能非唯一值使用軌道。因此,更改代碼如下:

<select name="mySelect" id="mySelect" 
    ng-options="option.qty for option in data.availableOptions track by option.amount" 
ng-model="data.selectedOption"></select> 

工作小提琴https://jsfiddle.net/8842yh49/2/

+0

謝謝你,它的工作 –

+0

歡迎您:) – Vivz

1

對於非唯一值,您不能使用'track by',因爲'track by'需要一對一映射。使用'qty'將不起作用,因爲它不是唯一的,1,2,3和4映射到每個價格對象的不同值(不是一對一)。添加以下更改,它應該工作。

<select name="mySelect" id="mySelect" 
    ng-options="option.qty for option in data.availableOptions track by option.qty" 
    ng-model="data.selectedOption"></select> 

應該是,NG-選擇是如此,當貨幣被改變的第一個值將自動選擇:

<select name="mySelect" id="mySelect" 
    ng-options="option.qty for option in data.availableOptions" 
    ng-model="data.selectedOption" ng-selected="$first"></select> 
+0

謝謝你,我理解的工作原理 –