Search code examples
angularjsng-options

angular pass current object to ng-options get undefiend


Im trying to get the current object on ng-change with ng-options and i get undefiend

 <select class="form-control" ng-model="currentDrawResults" ng-options="(draw.drawDate | date:'MMM d, y' ) for draw in lot.lastDraws track by draw.drawDate" ng-change="changeDraw(draw)">
 </select>

I was trying some answers from this site but still dont work. whats the problem?


Solution

  • Change ng-change="changeDraw(draw)" to ng-change="changeDraw(currentDrawResults)

    var app = angular.module('app', []);
    
    app.controller('fCtrl', function($scope) {
    
    
    
      $scope.lot = {
        lastDraws: [{
            drawDate: "2011-10-28T09:30:24.673Z"
          }, {
            drawDate: "2012-09-28T09:30:24.673Z"
          }, {
            drawDate: "2014-05-28T09:30:24.673Z"
          },
    
    
    
    
        ]
      };
    
      $scope.changeDraw = function(draw) {
        alert(draw.drawDate)
      }
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    
    <div ng-app="app">
      <div ng-controller="fCtrl">
    
    
        <select class="form-control" ng-model="currentDrawResults" ng-options="(draw.drawDate | date:'MMM d, y' ) for draw in lot.lastDraws track by draw.drawDate" ng-change="changeDraw(currentDrawResults)">
        </select>
      </div>
    </div>