簡體   English   中英

角度迭代選擇選項並設置選擇的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM