Javascript AngularJS下拉列表-自动选择不工作

Javascript AngularJS下拉列表-自动选择不工作,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,在控制器中 $scope.persons = [{"id": 1, "name": "Diso"}, {"id": 2, "name": "Tatalop"}]; 在创建页面中我有这些代码 <select name="person" ng-options="person.id as person.name for person in persons" ng-model="job.person_id"> <option value="">Select a Pers

在控制器中

$scope.persons = [{"id": 1, "name": "Diso"}, {"id": 2, "name": "Tatalop"}];
在创建页面中我有这些代码

<select name="person" ng-options="person.id as person.name for person in persons" ng-model="job.person_id">
    <option value="">Select a Person</option>
</select>

选择一个人
上面的下拉列表将显示人员
姓名
,其值将为人员
id
。如果我提交了表格,那么我将正确获取个人
id
。这是完美的工作。

在更新页面中我想使用相同的代码(相同的控制器和相同的html文件)。此下拉列表现在需要自动选择。假设在页面加载下拉列表中自动选择第二个人。为了使它成功,我编写了
$scope.job.person\u id=$scope.persons[1]

现在的问题是,如果我将
person.id作为
ng options
中删除,那么只有自动选择功能可以工作,否则它就不能工作。现在,如果我将
person\u id作为
删除,那么作为下拉的结果,我将得到整个对象(
{“id”:2,“name”:“Tatalop”}
)。但是我只想要这个人
id

怎么做?我错过什么了吗?有谁能给我提个建议吗?

看这个例子:

ng change函数中,我仅获取id

请参见此示例:

ng change函数中,我仅获取id

请参见此示例:

ng change函数中,我仅获取id

请参见此示例:

ng change函数中,我仅获取id


请检查这把小提琴,它可能会有所帮助

angular.module('myApp',[]);
函数TestCtrl($scope){
$scope.persons=[{“id”:1,“name”:“Diso”},{“id”:2,“name”:“Tatalop”}];
$scope.job=$scope.persons[1].id;
}

选择一个人
这是所选id:{{job}

请检查这把小提琴,它可能会有所帮助

angular.module('myApp',[]);
函数TestCtrl($scope){
$scope.persons=[{“id”:1,“name”:“Diso”},{“id”:2,“name”:“Tatalop”}];
$scope.job=$scope.persons[1].id;
}

选择一个人
这是所选id:{{job}

请检查这把小提琴,它可能会有所帮助

angular.module('myApp',[]);
函数TestCtrl($scope){
$scope.persons=[{“id”:1,“name”:“Diso”},{“id”:2,“name”:“Tatalop”}];
$scope.job=$scope.persons[1].id;
}

选择一个人
这是所选id:{{job}

请检查这把小提琴,它可能会有所帮助

angular.module('myApp',[]);
函数TestCtrl($scope){
$scope.persons=[{“id”:1,“name”:“Diso”},{“id”:2,“name”:“Tatalop”}];
$scope.job=$scope.persons[1].id;
}

选择一个人
这是所选id:{{job}

我需要自动选择功能。当我加载页面时,默认情况下我应该在下拉列表中获得
Tatalop
。你明白了吗?我需要自动选择功能。当我加载页面时,默认情况下我应该在下拉列表中获得
Tatalop
。你明白了吗?我需要自动选择功能。当我加载页面时,默认情况下我应该在下拉列表中获得
Tatalop
。你明白了吗?我需要自动选择功能。当我加载页面时,默认情况下我应该在下拉列表中获得
Tatalop
。你明白了吗?谢谢。我知道答案了,谢谢。我知道答案了,谢谢。我知道答案了,谢谢。我得到了答案。
var myApp = angular.module('myApp', []);

function MainCtrl($scope) {
    $scope.persons = [{"id": 1, "name": "Diso"}, {"id": 2, "name": "Tatalop"}];
    $scope.person_id = $scope.persons[1].id;
    $scope.getValue = function(t){
    console.log(t)

    }
}