angularjs - Check-all checkbox is not changes object properties from select -


my code - plunker

i'm trying changes status of list objects using master checkbox checks objects , changes properties selecting required status select element.

the problem when i'm trying apply change on elements using "check all" 'checkbox' not working.

e.g.

example

when check manually checkboxes without using master checkbox working.

my code

var webapp = angular.module('webapp', []);  //controllers webapp.controller ('votesctrl', function ($scope, votes) {     $scope.votes  = votes;      $scope.statuses = ["approved","pending","trash","spam"];      $scope.expand = function(vote) {        console.log("show");        $scope.vote = vote;        $scope.ip = vote.ip;        $scope.date = vote.created;      };      $scope.change = function() {       for(var = 0; < $scope.votes.length; i++) {         if($scope.votes[i].cb) {             $scope.votes[i].status = $scope.votes.status;             $scope.votes[i].cb = false;         }           $scope.show = false;       }     };  });  //services webapp.factory('votes', [function() {      //temporary repository till integration db translated restful query     var votes = [         {             id: '1',             created: 1381583344653,             updated: '222212',             ratingid: '3',             rate: 5,             ip: '198.168.0.0',             status: 'pending',         },         {             id: '111',             created: 1381583344653,             updated: '222212',             ratingid: '4',             rate: 5,             ip: '198.168.0.1',             status: 'spam'              },         {             id: '2',             created: 1382387322693,             updated: '222212',             ratingid: '3',             rate: 1,             ip: '198.168.0.2',             status: 'approved'          },         {              id: '4',             created: 1382387322693,             updated: '222212',             ratingid: '3',             rate: 1,             ip: '198.168.0.3',             status: 'spam'         }     ];     return votes; }]); 

my html

  <body ng-controller='votesctrl'>     <div>     <ul>         <li class="check" ng-click=>            <input type="checkbox" ng-model="master"></input>         </li>         <li class="created">             <a>created</a>         </li>         <li class="ip">             <b>ip address</b>         </li>         <li class="status">             <b>status</b>         </li>     </ul>     <ul ng-repeat="vote in votes">         <li class="check">           <input type="checkbox" ng-model="vote.cb" ng-checked="master"></input>         </li>         <li  class="created">             <a href="#" ng-click="expand(vote)">{{vote.created|date}}</a>         </li>         <li class="ip">             {{vote.ip}}         </li>         <li class="status">             {{vote.status}}         </li>     </ul>    </div>    <br></br>    <div class="details">     <h3>details:</h3>       <div>date: {{date|date}}</div>       <div>ip: {{ip}}</div>       <div>status:          <select ng-change="change()" ng-init="votes.status='approved'"            ng-model="votes.status"            ng-options="status status in statuses">         </select>        <p>{{vote.status|json}}</p>       </div>    </div>   </body> 

why master checkbox not working?

i changed method change bit make work.

from plunker can see on master change children still have old value. added onmasterchange method

html

<input type="checkbox"         ng-model="master"         ng-change="onmasterchange(master)"></input> 

i created default: $scope.master = false;

....  $scope.master = false;  $scope.onmasterchange = function(master){       for(var = 0; < $scope.votes.length; i++) {       $scope.votes[i].cb = master;      } };  $scope.change = function(value) {    for(var = 0; < $scope.votes.length; i++) {      //if($scope.votes[i].cb == undefined){      // $scope.votes[i].cb = false;    // }              if($scope.master == true){        $scope.votes[i].cb = $scope.master;        $scope.votes[i].status = value;      }     else if( $scope.votes[i].cb == true) {       $scope.votes[i].status = value;     }   } }; 

see plunker

hope help,


Comments

Popular posts from this blog

java.util.scanner - How to read and add only numbers to array from a text file -

rewrite - Trouble with Wordpress multiple custom querystrings -