JSON呼び出しに基づいて、選択の値と表示名を設定しています。同じ呼び出しで、ネストされた配列から引き出して、既定のアカウント値を取得しています (存在する場合)。そのため、そのデフォルトのアカウント値を保持しているスコープがあり、選択が入力されていますが、私の人生では、値を持つ配列内のオブジェクトに適用する選択属性を取得する方法がわかりませんこれはデフォルト値に対応します。
基本的に、デフォルトのアカウント ID が配列に存在する場合、オプションに「選択済み」を適用したいだけです。
さらに、フォームコレクション機能に関連付けられているため、選択の ng-model を変更できません。
また、私は ng-repeat と ng-options の使用にオープンですが、繰り返しでそれを理解できなかったため、オプションパラダイムに移動しました。
どんな援助でも感謝します! HTML:
<select class="form-control" id="authQAccount" name="authQAccount" ng-model="authFields.accountID" ng-init ng-options="item as item.name for item in accounts track by item.ID" ng-selected="$scope.defaultAcct" required>
</select>
私のコントローラーで:
$http.get('/api/assessment/authorize').success(function(data, status, headers, config) {
$scope.content = data.data;
//Pop the defaults and user options
$scope.languages = [];
angular.forEach(data.data.languages, function(value, key) {
$scope.languages.push(value);
});
$scope.accounts = [];
angular.forEach(data.data.accounts, function(value, key) {
$scope.accounts.push(value);
});
$scope.defaultAcct = data.data.defaultAccount;
私が得ているデータ:
"data": {
"defaultAccount": "6481004",
"defaultLanguage": "en_us",
"defaultAddonBody": "Test Email for Default",
"accounts": [{
"ID": "6481004",
"name": " ABC Company, Inc. "
}, {
"ID": "6481619",
"name": "EDF Company - Personal "
}