#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>