简体   繁体   中英

Disable button when a checkbox in a ng-repeat list is unchecked

I have a button that I need to disable if the there is no checked checkbox on my ng-repeat.

<button class="" data-toggle="modal" data-target="#rejectModal" contenteditable="false" id="delbutton" ng-model="delbutton" ng-disabled="!item.checked">

and my checkbox is like this

<input type="checkbox" name="select" value="checked" ng-model="item.checked"/>

How can I possibly do this?

Here is the plunker for your problem. [ https://plnkr.co/edit/AIrKVLedt6mcggvpmJE2?p=preview][1]

Controller:

app.controller('MainCtrl', function($scope) {

  $scope.Items = [
    {checked:false},
  {checked:true},
  {checked:false},
  ];

  $scope.setButtonEnabled = function(itemchecked){
      var isButtonEnabled =false;
      angular.forEach( $scope.Items, function(item){
        if(item && item.checked)
           isButtonEnabled = true;
      });
      return  isButtonEnabled;
  };
});

Html:

<div ng-repeat="item in Items">
      <input type="checkbox" name="select" value="checked" ng-model="item.checked" ng-change="setButtonEnabled()" />
    </div>
    <br>
    <button  id="delbutton"  ng-disabled="setButtonEnabled()">Submit</button>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM