Как установить флажок по умолчанию?

#javascript #html #angularjs

#javascript #HTML #angularjs

Вопрос:

Я пытаюсь установить флажок на основе данных базы данных.

У меня есть что-то вроде

 <div ng-controller="test">
    <div class="checkbox" ng-repeat="item in items">
        <input type="checkbox" ng-model="item.isSelected" ng-change="check(item)" ng-      
        checked="checkAll"/> {{item.name}}
    </div>
</div>
  

js

 app.controller("test", function($scope)
{
  //getting items data....
  //codes...

  //set item 0 to be selected
  $scope.items[0].isSelected = true;
}
  

Однако, похоже, я не могу сделать item[0] выбранный по умолчанию. Как мне этого добиться? Спасибо.

Ответ №1:

В опубликованном вами коде есть некоторые синтаксические ошибки, но в остальном он должен работать.

JS:

 var app = angular.module('app', []);
app.controller("test", function($scope)
{
  $scope.items = [];
  $scope.items.push({isSelected:true, name:'test'});
  $scope.items[0].isSelected = true;
});
  

HTML:

 <body ng-app="app" ng-controller="test">
    <div class="checkbox" ng-repeat="item in items">
        <input type="checkbox" ng-model="item.isSelected" /> {{item.name}}
    </div>        
</body>
  

Ответ №2:

Вам просто нужно установить ng-init (без настройки контроллера):

 <div ng-controller="test">
    <div class="checkbox" ng-repeat="item in items">
        <input type="checkbox" ng-init="item.isSelected=true" ng-model="item.isSelected" ng-change="check(item)" ng-      
        checked="checkAll"/> {{item.name}}
    </div>
</div>