2017-07-27 98 views
0

我是angularjs中的新成員,並試圖在控制器中獲取選定的值。它在前端正常工作,但選定的值在控制器中未定義,我如何訪問控制器中的選定值?如何在控制器中使用angularjs獲取選定值

<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"> 
 
</script> 
 

 
<body> 
 
    <div ng-app="myApp" ng-controller="myCtrl"> 
 

 

 
     <select ng-change="changed()" ng-model="selectedOption" class="form-control"> 
 
      <option ng-repeat="x in options" value="{{x.reason}}">{{x.reason}}</option> 
 
     </select> 
 
     {{selectedOption}} 
 

 
    </div> 
 

 

 
    <script> 
 
     var app = angular.module('myApp', []); 
 
     app.controller('myCtrl', function ($scope) { 
 
      $scope.options = [{reason: "Facebook"}, 
 
       {reason: "Instagram"}, 
 
       {reason: "Google"}, 
 
       {reason: "Twitter"}, 
 
       {reason: "SMS"}]; 
 
      $scope.changed = function() { 
 
       console.log("selected Options: " + $scope.selectedOption); 
 
      } 
 
     }); 
 
    </script> 
 

 
</body> 
 

 
</html>

+0

您的代碼似乎是工作 – Vivz

+0

你的代碼工作完美的我。來自控制器工作的console.log意味着更改後的值也反映在控制器中 – Nitheesh

+0

其工作原理..您想如何使用? –

回答

0

你的代碼工作。

DEMO

var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope) { 
 
$scope.options = [ 
 
    {reason : "Facebook"}, 
 
    {reason : "Instagram"}, 
 
    {reason : "Google"}, 
 
    {reason : "Twitter"}, 
 
    {reason : "SMS"}, 
 

 
]; 
 
$scope.changed= function() { 
 
    console.log("selected Options: "+$scope.selectedOption); 
 
} 
 
});
<!DOCTYPE html> 
 
<html> 
 
<script 
 
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"> 
 
</script> 
 
<body> 
 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
<select ng-change="changed()" ng-model="selectedOption" class="form-control"> 
 
<option ng-repeat="x in options" value="{{x.reason}}">{{x.reason}}</option> 
 
</select>{{selectedOption}} 
 
</div>

+1

如果代碼工作正常,這個答案的需要是什麼。只是一個評論就夠了。 – Nitheesh

0

似乎一切都沒有問題,只是在控制器調用$scope.selectedOption從任何地方。

+0

如果代碼工作正常,這個答案的需要是什麼。只是一個評論就夠了。 – Nitheesh

0

它的工作完美!我在JSFiddle和它的工作中嘗試了這一點!

即使這也工作。

$scope.changed= function() { 
    console.log("selected Options: "+$scope.selectedOption); 
} 

看吧:https://jsfiddle.net/vLam3pe0/

0
<script> 
     var app = angular.module('myApp', []); 
     app.controller('myCtrl', function ($scope) { 
     $scope.selectedOption; 
      $scope.options = [{reason: "Facebook"}, 
       {reason: "Instagram"}, 
       {reason: "Google"}, 
       {reason: "Twitter"}, 
       {reason: "SMS"}]; 
      $scope.changed = function() { 
       console.log("selected Options: " + $scope.selectedOption); 
      } 
     }); 
    </script> 
+0

我在ng-include中使用它,所以我忘了添加$ parent.selectedOption,現在它工作正常。謝謝大家 .. –

相關問題