1

は、オブジェクトがNG-オプションでマルチselect要素でNG-変更とオブジェクトキーまたは値を渡す方法はありますか?以下の例ではパスオブジェクトキー

$scope.check機能は、任意のPARAMTERを受信しませんが、それは、キーまたは値のいずれかを取得したいと思います。

<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}

答えて

1

変更あなたの選択、あなたはまた、ng-modelのための変数を使用してcheck()関数の中にそれを渡し、ビュー内の$scopeを使うべきではありません

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

+0

@Sajeetharanにお返事ありがとうございます。私は指定するのを忘れていました。要素が選択されて配列に追加されたときに複数選択するようになっています。ちょうど追加されたvalを見つけるためにng-changeが必要です。上述したように、それはhttps://plnkr.co/edit/D7FZ9kX4LEWGmYUXnJ7B?p=previewを助けた場合、それは、答えとしてマークを同じように動作し – liampc

+0

@LiamCollins – Sajeetharan

0

はこれがあなたのために働いて取得しようと、ここで、ここで選択し

<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> 

が働いて、それへのリンクですin codepen