在 ng-change 中传递对象键

Pass object key in ng-change

有没有办法在 ng-options 是对象的多 select 元素中使用 ng-change 传递对象键或值?

在下面的示例中,$scope.check 函数不接收任何参数,但希望它获取键或值。

<select ng-model="$scope.someArray" ng-change="$scope.check(key)" ng-options="key as val for (val, key) in $scope.options" multiple></select>

在哪里 $scope.options = {a: 1, b: 2}

改变你的select,你不应该在视图中使用$scope,也为ng-model使用一个变量并在里面传递它check() 函数

HTML:

 <div class="media-list" ng-controller="dishDetailController">
   <select ng-model="selected"  ng-change="check(selected)" ng-options="key as val for (val, key) in options"></select>
  </div>

控制器:

app.controller("dishDetailController", ["$scope",
  function($scope) {
   $scope.selected ;
   $scope.options = {a: 1, b: 2};
   $scope.check = function(val){
    alert(val); 
   }
  }
]);

DEMO

试图让这个为你工作,这里是 select

<select class="form-control" ng-change="vm.change(vm.res)" ng-model="vm.res" ng-options="value as key for (key , value) in vm.options"></select>

这是 link 它在 codepen

中工作