2013-06-19 41 views
1

我想在ng-repeat內部放置一個選擇列表,以允許選擇列表多次顯示,用戶爲顯示的每個seelct列表選擇一個值。我的代碼如下:選擇不綁定數據ng-repeated數據

 <div class="actionList" ng-repeat="selectedAction in inputDevice.selectedActions"> 
     <select class="inputAction" ng-model="selectedAction" ng-options="action as action.fields.name for action in inputDevice.fields.baseDevice.fields.inputs"> 
      <option value=""> 
      Select Action 
      </option> 
     </select> 
     <button class="btn btn-primary" ng-click="addAction(inputDevice, $index)"> 
      + 
     </button> 
     </div> 

它完美,除了當我選擇的選擇列表中的一個選項,選擇列表僅返回到默認狀態,並選擇不選擇(選擇動作遺體的狀態也不變)。我已嘗試更改selectedAction上的財產,例如ng-model="selectedAction.value"而不是selectedAction本身,以達到相同的結果。如果我將ng-model="selectedAction"更改爲ng-model="foo"等其他任何內容,則它可以正常工作,並且可以觀察範圍內新創建的值foo的選擇邊界值。爲什麼我無法綁定到重複的元素?

+0

selectedAction是什麼數據類型?它是一個字符串嗎? – Chandermani

回答

0

如果你添加了一個jsfiddle鏈接來玩,這會容易得多,但在我看來,你試圖將ng模型設置爲原語(字符串)而不是對象,因此每當你改變它,值不再存在。 selectedAction.value在這種情況下也不起作用,因爲selectedAction是一個字符串。

如果inputDevice.selectedActions是一個對象數組,但我認爲它會工作得很好。 )你可以嘗試的另一件事(不知道它是否會工作,因爲我沒有jsfiddle :))是,設置ng-model =「foo {{$ index}}」 - 那麼它理論上應該保存值轉換爲循環中索引的新範圍變量。

+0

這是一個原始的,而不是一個對象,謝謝。 – GBleaney