Javascript AngularJS使用ng模型更改下拉值
在controller中,我有一个服务api调用GetNameByID/{id}”,根据id,我想初始化模态表单的下拉值 因此,如果用户单击ID 1,则下拉列表默认为Julia 问题是在服务调用中,当我尝试通过执行$scope.names=data来初始化模型时,它会在顶部添加一个空选项,而不是选择Julia。当我输入console.logdata时,它会打印“Julia”,但会变成Javascript AngularJS使用ng模型更改下拉值,javascript,angularjs,dropdown,angular-ngmodel,Javascript,Angularjs,Dropdown,Angular Ngmodel,在controller中,我有一个服务api调用GetNameByID/{id}”,根据id,我想初始化模态表单的下拉值 因此,如果用户单击ID 1,则下拉列表默认为Julia 问题是在服务调用中,当我尝试通过执行$scope.names=data来初始化模型时,它会在顶部添加一个空选项,而不是选择Julia。当我输入console.logdata时,它会打印“Julia”,但会变成 如何解决此问题?因此,让我们为这种情况提供一个HTML示例: nameList contains [“Julia
如何解决此问题?因此,让我们为这种情况提供一个HTML示例:
nameList contains [“Julia”, “Evan”, “Tomas”];
select ng-model=“names” ng-options=“x for x in nameList”
请查看运行的代码。您可以使用ng init初始化下拉列表中的第一个值,如下所示:
function MyCtrl($scope) {
$scope.names = "Julia"
$scope.nameList = ["Julia", "Evan", "Tomas"];
$scope.Update = function(_value){
$scope.names = $scope.nameList[ parseInt(_value)] ;
}
}
其中数据[0]中的[0]是数组的位置。下面是一个可以设置选项的示例 在html文件中
<select ng-model="names" ng-init="names = data[0]" ng-options="x for x in data">
<option value="">Select</option>
</select>
在js文件中
<select ng-model="selectedName" ng-options="x for x in nameList"></select>
用1减去id,因为数组以0开头。希望这就是你想要的
<select ng-model="selectedName" ng-options="x for x in nameList"></select>
app.controller('myCtrl', function($scope) {
var id = 1;
$scope.names = ["Julia", "Evan", "Tomas"];
$scope.selectedName = $scope.names[id-1]; <---- here you can pass you id.
});