2017-12-22 1 views
-1

AngularJSを初めて使用しました。オプション付きの選択ボックスがあります。ユーザーがチェックボックスをオフにしてオプションを選択すると、メッセージが表示されます。できます !しかしその後、私はオプションの値をデフォルトに設定したい。動いていない。この問題を解決するのを手伝ってください。AngularJS選択ボックスの値が選択後にデフォルトに設定されない

this.onChange = function (ev, selectoptionModel){ 
    if(selectoptionModel == "OK"){ 

    if(this.myArray.length==0){ 

     alert = $mdDialog.alert({ 
     title: 'Attention', 
     textContent: 'Please select option first', 
     ok: 'Close' 
     }); 

     $mdDialog 
     .show(alert) 
     .finally(function() { 
      alert = undefined; 
      selectoptionModel = ""; 

     }); 
    } 
    } 
    } 

選択オプション

<div> 
    <md-input-container> 
     <md-select ng-model="selectoptionModel" ng-change="$dataListController.onChange($event,selectoptionModel)" placeholder="Bulk Action"> 
     <md-option value="DONE">DONE</md-option> 
     </md-select> 
    </md-input-container> 

</div> 
+0

あなたはあなたの完全なコントローラのコードを示していただけますか?そして、あなたは1つのオプションしか持っていないのですが、なぜ 'select'ボックスを使用していますか? –

答えて

0

あなたは関数パラメータを変更しているので、変更されていません。 スコープ変数を変更してください。

それが関数内であるので、あなたはthisの参照を取得し、その変数vmを取ると、それにthis値を代入し、関数内で使用することはできません。

this.onChange = function (ev, selectoptionModel){ 
    var vm = this;  
    if(selectoptionModel == "OK"){ 

    if(this.myArray.length==0){ 

     alert = $mdDialog.alert({ 
     title: 'Attention', 
     textContent: 'Please select option first', 
     ok: 'Close' 
     }); 

     $mdDialog 
     .show(alert) 
     .finally(function() { 
      alert = undefined; 
      $scope.selectoptionModel = ""; // If it didnt work, try below function 
      $scope.$apply(function(){ 
      $scope.selectoptionModel = ""; 
      }) 
      $window.location.reload(); 
     }); 
    } 
    } 
} 

HTML:

<div> 
    <md-input-container> 
     <md-select ng-model="selectoptionModel" ng-change="$dataListController.onChange($event,selectoptionModel)" placeholder="Bulk Action"> 
     <md-option value=""></md-option> 
     <md-option value="DONE">DONE</md-option> 
     </md-select> 
    </md-input-container> 

</div> 
+0

まだ動作していません – coderaizer

+0

更新された回答を確認してください、変更されたHTML – Sravan

+0

また、少し質問を更新しました。私はウィンドウのリロードを削除しました。それはそこにあるべきではないからです。それでも問題は同じです – coderaizer

関連する問題