Я бы посоветовал использовать ng-change, чтобы зафиксировать изменение состояния флажка, и ng-if, чтобы отобразить всплывающее окно, когда флажок возвращает значение true.Я собрал быстрый пример, который должен помочь: https://codepen.io/anon/pen/xBEvOq
HTML:
<div ng-app="myApp">
<div ng-controller="exampleCtrl">
<input title="{{(disabledStatus?'disabledReason' : '')}}"
ng-disabled="displayPopup" type="checkbox" ng-model="checkBox"
ng-change="evaluate(checkBox)"/>
<div ng-if="displayPopup">Insert Popup Code Here!</div>
</div>
</div>
JS:
var app = angular.module('myApp', []);
app.controller('exampleCtrl', function($scope) {
$scope.evaluate = function(displayPopup) {
$scope.displayPopup = displayPopup;
$scope.disabledStatus = false;
if($scope.displayPopup === true){
$scope.disabledStatus = true;
$scope.disabledReason = "You can make up reason here";
}
};
});