The answer you link is the same solution for this problem. Each repeat button needs its unique model property. If they are all set to the same model as in the $scope.checkboxModel = {id: 0} panel, when one button is checked, they will all be checked.
So, to give the uniqueness of each button, you can set another property on the objects in ng-repeat . This property will contain a boolean that changes during validation. Thus, your model will look like this:
$scope.companies = [{"id":2,"name":"A", truthy:false}]
You do not need to explicitly specify this in the controller - just declare a new property of the right in the button element model:
<companies ng-repeat="company in companies"> <button type="button" class="btn" ng-model="company.truthy" btn-checkbox>{{company.name}}</button> </companies>
Here plunk
source share