2017-07-27 2 views
0

私はangularjsで新しくコントローラで選択された値を取得しようとしています。フロントエンドで正常に動作していますが、コントローラで選択された値が未定義になっています。コントローラで選択した値にどのようにアクセスできますか?anglejsを使用してコントローラで選択された値を取得する方法

<!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を追加するのを忘れていました。今は正しく動作しています。ありがとうございます .. –

関連する問題