无法使用AngularJs以编程方式选择选项值

时间:2013-08-23 16:10:41

标签: angularjs

选择

select(ng-model="elId", ng-change="load(elId)", ng-options="e._id as e.name for e in options")
    option(value="") - select a mashup -

控制器

以下工作,选择了填充。我正在使用广播,因为它来自一个插座..不介意。

 //receive list
 $scope.$on('list:refresh', function(ev, data) {
     $scope.options = data
 })

以下仅适用于之前未手动选择任何选项的情况。 data.id是列表中的有效条目。

 //refresh list of mashups when a new one has been created
 $scope.$on('list:select', function (ev, data) {  
     $scope.elId = data.id
 })

如果我手动选择一个选项,然后点击list:select,则$scope.elId会过时,但<select>不会突出显示该选项。

发生了什么事?

1 个答案:

答案 0 :(得分:1)

解决:

选择

select(ng-model="data.elId", ng-change="load()", ng-options="e._id as e.name for e in options")
    option(value="") - select a mashup -

<强>控制器

 //receive list
 $scope.$on('list:refresh', function(ev, data) {
     $scope.options = data
 })

 $scope.load() {
    var elId = $scope.data.elId
    ....
 }

 //refresh list of mashups when a new one has been created
 $scope.$on('list:select', function (ev, data) {  
     $scope.data.elId = data.id
 })

我想问题是我试图从子控制器更改所选值..现在我正在使用加载到控制器中的服务数据$scope.data = Data .. meh?