无法设置范围值以选择框

时间:2015-08-21 05:20:12

标签: angularjs angularjs-select

我编写了如下代码

<select ng-model="runnames" 
ng-options="runs.runname for runs in season.runs" 
ng-change="Onchangefunc(runnames)">

这很好用。但问题是,我想改变另一个函数的选定值。我将值设置为

$scope.runnames = 'A';

以下是JSON的样子

[
  {"runid": "1","runame": "A"},
  {"runid": "2","runame": "B"},
  {"runid": "3","runame": "C"}
          ]

但是选择值不会改变。我做错了什么?或任何其他功能?

2 个答案:

答案 0 :(得分:1)

ng-options适用于对象。

我们使用跟踪用于设置或选择选项。

我为自己的purpsose修改了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> 

AND 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 中的曲目,并在外部函数中设置该值。

以下是plunker

答案 1 :(得分:0)

查看本页顶部https://docs.angularjs.org/api/ng/directive/ngOptions附近提供的示例,您可能需要确保$ scope.runnames变量包含&#39; name&#39;的定义。即。

$scope.runnames = { name: 'abc' };