2017-12-18 3 views
2

현재 확인란의 값을 확인하기 위해 ng-checked에서 함수를 호출했습니다.이 값이 'test'인지 아니면 선택되어 있는지 확인한 후 확인란을 선택해야합니다. 그렇지 않으면 확인란 선택을 취소해야합니다ng-checked 함수에서 전달 된 인수를 가져올 수 없습니다.

이것을 달성하기 위해 ng-checked에서 호출되는 show 함수의 인수로 this.value를 전달했습니다. 그러나이 this.value은 콘솔에 로그인 할 때 정의되지 않습니다. 함수 내에서 이벤트 객체를 매개 변수로 전달하는 경우에도 undefined가 반환됩니다.

하십시오

는 아래의 코드를 검사 : 사전에

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

 
app.controller('mainController', function($scope, $http) { 
 
    $scope.show = function(val) { 
 
     console.log(val); 
 
     if (val == 'test') { 
 
      return true; 
 
     } else { 
 
      return false; 
 
     } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div ng-app="app"> 
 
    <div ng-controller="mainController"> 
 
\t  <input type="checkbox" value="test" ng-checked="show(this.value)"/> 
 
    </div> 
 
</div>

감사합니다 :) 당신은 대신 NG 모델을 사용할 수 있습니다

답변

2

을 NG-확인

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

 
app.controller('mainController', function($scope, $http) { 
 
    $scope.test = false 
 
    $scope.show = function(val) { 
 
     $scope.test = val 
 
    } 
 

 
    /// after fetching data from your server, 
 
    /// you can set checked by calling: 
 
    $scope.show(true) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div ng-app="app"> 
 
    <div ng-controller="mainController"> 
 
    <input type="checkbox" ng-model="test" /> 
 
     
 
    </div> 
 
</div>

+0

아니요, 실제로 서버에서 일부 데이터가 표시됩니다. 데이터는 true 또는 false입니다. 따라서이 부울 변수의 값에 따라 체크 박스를 선택하거나 선택 취소합니다 – Harish

+0

답변을 업데이트했습니다.이 경우 서버에서 오는 데이터를 기반으로 모델 값만 설정합니다. –

+0

알았습니다. 내가 시도해 볼게. – Harish