Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS使用ng模型更改下拉值_Javascript_Angularjs_Dropdown_Angular Ngmodel - Fatal编程技术网

Javascript AngularJS使用ng模型更改下拉值

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

在controller中,我有一个服务api调用GetNameByID/{id}”,根据id,我想初始化模态表单的下拉值

因此,如果用户单击ID 1,则下拉列表默认为Julia

问题是在服务调用中,当我尝试通过执行$scope.names=data来初始化模型时,它会在顶部添加一个空选项,而不是选择Julia。当我输入console.logdata时,它会打印“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.
});