[英]Angular iterate through select options and set selected value
我有一個來自JSON數據的狀態選擇集:
<select name="ParentState" ng-model="selectedState" ng-options="s.StateID as s.StateCode for s in cStates | orderBy:'StateCode'">
<option value="">Select State...</option>
</select>
並希望將所選狀態設置為登錄用戶返回的狀態,但是我完全確定如何在Angular中完成此操作。 這是我嘗試過的方法,無法使用。
angular.forEach($scope.cState, function (s) {
if (s.StateCode == xParentState) {
$scope.selectedState = s.StateCode;
}
});
xParent
是該州的縮寫,例如,密歇根州的“ MI”
ngModel
設置為StateID
(如ngOptions
- value as text for object in array
)-設置該值而不是StateCode
if (s.StateCode == xParentState) {
$scope.selectedState = s.StateID;
}
查看`ngOptions的文檔。
您在此處使用select as label for value in array
表達式中select as label for value in array
。 因此,要設置ngModel,您將需要設置StateID
。
假設您有一個類似的對象:
xParentState: {
StateID: 1,
StateCode: 'MI',
StateName: 'Michigan'
}
您可以直接使用$scope.selectedState = xParentState.StateID
來設置值,也可以使用ngInit
在模板中進行設置(例如,當用戶重新加載頁面時):
<select ng-model="selectedState" ng-options="s.StateID as s.StateCode for s in cStates | orderBy:'StateCode'" ng-init="selectedState = xParentState.StateID">
<option value="">Select State...</option>
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.