のhtmlコードに設定します。リストの最初の値をデフォルトの選択値として設定する必要がありました。最初の値をデフォルトのドロップダウン値を設定するために、デフォルトの値を
<div class="col-md-12" ng-controller="TestController as regCtrl" >
<div ng-init="regCtrl.getMasterData()" >
<select ng-model="regCtrl.user.screeningType.screeningTypeId" ng-change="regCtrl.getType(regCtrl.user.screeningType.screeningTypeId)"
ng-options="sctype.screeningTypeId as sctype.screeningType for sctype in regCtrl.screeningTypeList track by sctype.screeningTypeId"
class="form-control field-size ng-pristine ng-invalid ng-invalid-required ng-valid-maxlength ng-touched" name="screeningType"
id="screeningType" required >
</div>
</div>
以下は、値を設定できるコントローラです。
(function() {
'use strict';
angular.module('app.controllers')
.controller("TestController", TestController);
TestController.$inject = ['$http','LookupService','$filter', '$timeout', 'SweetAlertService', 'Constants'];
function TestController($http,LookupService,$filter, $timeout, SweetAlertService, Constants){
var vm = this;
vm.getMasterData = function(){
$http({
method: 'GET',
url: 'master/getAllScreeningTypeMast'
}).success(function(response){
vm.screeningTypeList=response.result;
}).error(function(resp){
});
vm.user.screeningType.screeningTypeId = vm.user.screeningType.screeningTypeId[0].screeningTypeId; // getting undefined
}
})();
これは
/**
[{
"screeningTypeId": 2,
"screeningType": "Employment",
"activeYn": null,
"mmpidRequiredYn": "Y"
}, {
"screeningTypeId": 3,
"screeningType": "Female Marriage",
"activeYn": null,
"mmpidRequiredYn": "N"
}, {
"screeningTypeId": 4,
"screeningType": "Food",
"activeYn": null,
"mmpidRequiredYn": null
}, {
"screeningTypeId": 1,
"screeningType": "Male Marriage",
"activeYn": null,
"mmpidRequiredYn": "Y"
}]
*/
がNG-INTをしようとしたサーバーからの応答で、NG-選択は何も働きました。
エラーが発生しました "angular.js:12477 TypeError:未定義の 'screeningTypeId'プロパティを設定できません" – user630209
バインディング用としてng-modelを変更してfixを使用できますか? – user630209
あなたはコードのフィドルを提供できますか? – SanchezCool