2016-08-18 8 views
0

angleJsで関数のアクセスを選択したオプション値を必要としますが、selectタグの変更またはトリガーイベントの場合はできません。AngularJsの機能で選択されたオプション値にアクセスする方法

Iこのコードは、オプションの変更時に使用します。

<select name='type' class='form-control' data-ng-model='type' data-ng-change='change(type)'> 
<option value='asc' selected>asc</option> 
<option value='desc'>desc</option> 
</select> 

var app = angular.module('app', []); 

app.controller('ctrl', function($scope){ 
    alert($scope.type); 
}); 
+0

あなたは、デフォルト値を設定されていません。なぜあなたは1つを期待していますか? – Alok

+0

私は私の質問を編集して、もう一度それに尋ねます。どのようにAngularJsによって機能で選択されたオプション値にアクセスすることができます。 – farzad

答えて

1

を見てみましょう。デフォルトの選択項目を設定する場合は、をコントローラーから設定してください。これは、以下の例で行っています。だから後であなたが何か他のものに選択をバインドすると、それはあなたにとってはむしろ簡単です。コードを変更する必要はありません。

var app = angular.module('app', []); 
 

 
app.controller('ctrl', function($scope){ 
 
    $scope.type = 'asc'; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
    <body ng-app="app" ng-controller="ctrl"> 
 
    
 
    <select name='type' class='form-control' data-ng-model='type'> 
 
    <option value='asc'>asc</option> 
 
    <option value='desc'>desc</option> 
 
    </select> 
 
    
 
    <p>My Selected type: {{type}}</p> 
 
    </body>

+0

なぜアラート($ scope.type);ショーはうまくいかない? – farzad

2

デフォルト値を設定しない限り、あなたはconsole.log($scope.type);ような何かをするときあなたが得るすべてはnullですが、適切な方法は、あなたのコントローラ内の最初の$scope.type='asc';のようにデフォルト値を使用してモデルを初期化することで、あなたはデフォルト値にアクセスすることができますあなたが欲しいときはいつでも

UPDATE:あなたが求めているものを行うための多くの方法がありますが、このPlunker

関連する問題