2016-08-17 38 views
2

在js文件一次:for循環只運行在angularjs

$scope.isCheckboxChecked = function() { 
     var chks = document.getElementsByName('chk[]'); 
     for (var i = 0; i < chks.length; i++) 
     { 
      if (chks[i].checked) 
      { 
       $scope.checkBoxClicked = true; 
       $('#btnUpdateData').attr("data-target", "#update-modal"); 
       $('#btnUpdateData').attr("data-toggle", "modal"); 
       break; 
      } 
      if ($scope.checkBoxClicked == false) 
      { 
       alert("Please select at least one checkbox"); 
      }    
     } 
    } 

在HTML

<div class="row" style=""> 
     <button type="button" id="btnUpdateData" class="btn btn-info" ng-click="isCheckboxChecked()">Update</button> 
    </div> 

此代碼檢查,如果該複選框被選中一次。 一旦複選框未選中,我希望for循環再次運行。

+0

缺少HTML一些代碼? –

+0

嘗試沒有休息; – DMCISSOKHO

回答

0

這裏是你如何可以看一個複選框的statechange,做一些事情,當它改變Plunkr例如:

https://plnkr.co/edit/kyEv7IyAXGFRdZjaD4vM?p=preview

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

    app.controller('MainCtrl', function($scope) { 
    $scope.$watch("testCheckBox", function(newVal, oldVal){ 
     alert('Checkbox changed!') 
    }); 

}); 

HTML:

<body ng-controller="MainCtrl"> 
<p>Check box test</p> 
<input type="checkbox" name="testCheckbox" ng-model="testCheckBox"></input> 

</body> 
+0

謝謝你的回覆。 – Bharath

+0

但是複選框是在ng-repeat內部創建的。 – Bharath

+0

因此我不能給出不同的名字。 – Bharath