无法将范围值设置到 select 框
Not able to set scope value on to select box
我写了如下代码
<select ng-model="runnames"
ng-options="runs.runname for runs in season.runs"
ng-change="Onchangefunc(runnames)">
这很好用。但问题是,我想从另一个函数更改 selected 值。我将值设置为
$scope.runnames = 'A';
这是 JSON 的样子
[
{"runid": "1","runame": "A"},
{"runid": "2","runame": "B"},
{"runid": "3","runame": "C"}
]
但是select值没有改变。我做错了什么??或任何其他要使用的功能?
查看本页顶部附近提供的示例 https://docs.angularjs.org/api/ng/directive/ngOptions,您可能需要确保 $scope.runnames 变量包含 'name' 的定义。即
$scope.runnames = { name: 'abc' };
ng-options 基于对象工作。
它是我们 key,它在 track by 中用于设置或选择选项。
为了我自己的目的,我对 HTML 进行了如下修改。
<select ng-model="runnames"
ng-options="runs as runs.runame for runs in season track by runs.runid"
ng-change="Onchangefunc(runnames)">{{runs}}
</select>
和 JS
controller('testCtrl',function($scope){
$scope.season = [
{"runid": "1","runame": "A"},
{"runid": "2","runame": "B"},
{"runid": "3","runame": "C"}
]
$scope.runnames = {"runid": "3"}
})
在 ng-options 中使用 track by 并在外部函数中设置该值。
这是plunker
我写了如下代码
<select ng-model="runnames"
ng-options="runs.runname for runs in season.runs"
ng-change="Onchangefunc(runnames)">
这很好用。但问题是,我想从另一个函数更改 selected 值。我将值设置为
$scope.runnames = 'A';
这是 JSON 的样子
[
{"runid": "1","runame": "A"},
{"runid": "2","runame": "B"},
{"runid": "3","runame": "C"}
]
但是select值没有改变。我做错了什么??或任何其他要使用的功能?
查看本页顶部附近提供的示例 https://docs.angularjs.org/api/ng/directive/ngOptions,您可能需要确保 $scope.runnames 变量包含 'name' 的定义。即
$scope.runnames = { name: 'abc' };
ng-options 基于对象工作。
它是我们 key,它在 track by 中用于设置或选择选项。
为了我自己的目的,我对 HTML 进行了如下修改。
<select ng-model="runnames"
ng-options="runs as runs.runame for runs in season track by runs.runid"
ng-change="Onchangefunc(runnames)">{{runs}}
</select>
和 JS
controller('testCtrl',function($scope){
$scope.season = [
{"runid": "1","runame": "A"},
{"runid": "2","runame": "B"},
{"runid": "3","runame": "C"}
]
$scope.runnames = {"runid": "3"}
})
在 ng-options 中使用 track by 并在外部函数中设置该值。
这是plunker