0
我試圖從JSON調用中動態選擇元素上設置選定的選項。如果使用這種方法的選項是靜態的,我可以設置它,但在我的生活中,當使用ng-options或ng-repeat填充選項時,我無法設置它。這裏是我的一個下拉HTML:使用ng-model,ng-init,ng-options和表單集合選擇的角度設置
<select class="form-control" id="authQLang" name="authQLang" ng-model="content.languages" ng-options="item as item.name for item in languages track by item.code" ng-init="content.languages == defaultLang" required>
<option value="">Select a language</option>
</select>
和代碼在我的控制器:
$scope.content = data.data;
$scope.defaultAcct = data.data.defaultAccount.ID;
$scope.defaultLang = data.data.defaultLanguage.code;
$scope.accounts = [];
angular.forEach(data.data.accounts, function(value, key) {
$scope.accounts.push(value);
});
$scope.languages = [];
angular.forEach(data.data.languages, function(value, key) {
$scope.languages.push(value);
});
而且JSON格式:
{
"code": 0,
"message": "",
"data": {
"defaultAccount": {
"ID": "6481618",
"name": "Account X"
},
"defaultLanguage": {
"code": "en-US",
"name": "English US"
},
"accounts": [{
"ID": "6481004",
"name": " Account A."
},...
"languages": [{
"code": "en-us",
"name': "English US"
},...
我之前嘗試過,但我再次嘗試,它仍然無法正常工作。還沒有選擇被設置,除了沒有值的選項。我認爲原因是:我使用$ scope.content的子集將數據推送到POST上的表單。當我嘗試訪問DOM中的這些子集時,我不能:我只能看到發佈請求的有效負載中的數據。 –
哎呀!我把它收回!謝謝!我不得不將data.data.defaultLanguage.code更改爲data.data.defaultLanguage,它的工作方式就像一個魅力! –