2017-12-22 2 views
-1

AngularJS를 처음 사용하여 옵션이있는 선택 상자가 있습니다. 사용자가 확인란을 선택하지 않고 옵션을 선택하면 메시지가 표시됩니다. 그것은 작동합니다! 그러나 그 후에 선택 옵션 값을 기본값으로 설정하려고합니다. 작동하지 않습니다. 이 문제를 해결하도록 도와주세요.AnglesJS 선택 상자 값이 선택 후 기본값으로 설정되지 않음

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

당신이 당신의 전체 컨트롤러 코드를 보여 주시겠습니까? 그리고 단 하나의 옵션을 가지고 있는데 왜'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