在angularjs中,如何在数据库中设置值时显示复选框为已选中

How to show checkboxes as checked when values are set in the database in angularjs

本文关键字:显示 复选框 设置 angularjs 数据库      更新时间:2023-09-26

我有这样的ionic html代码

<ion-view view-title="Task">
<ion-content>
  <ion-list>
 <!--<div class="block pad "> <i class="icon glyphicon ion-ios-search-strong "></i><input type="text" id="search" class="search-icon" placeholder="Search" /></div>-->
    <div class="action-checkbox" ng-repeat="task in alltasks">
      <h3>{{task.taskName}}</h3>
      <ul>
        <li ng-repeat="subtask in task.subTasks" ng-click="addList(task,subtask)">
          <input id="{{task._id}}_{{subtask._id}}" name="{{task._id}}_{{subtask._id}}" type="checkbox" value="{{subtask.subTaskName}}" ng-checked="subtask.checked" ng-model="slectedTasks" class="hide"/>
          <label for="{{task._id}}_{{subtask._id}}" > 
            {{subtask.subTaskName}}
          </label>
        </li>
      </ul>
    </div>
  </ion-list>
</ion-content>
</ion-view>
<ion-footer-bar align-title="left" class="bar-assertive pos-fixed">
  <div class="nu" ><a class="button button-stable button-full" ng-click="submit()" >Add to List</a></div>
</ion-footer-bar>

我有这样的控制器代码

.controller('TaskFormCtrl',function($scope,$state,ProjectServices){
    var taskData={};
    $scope.selected = [];
    var selectedMap = [];
    var selectedMap1 = [];
    $scope.postFormData = [];
    var user = "";
    if(localStorage.getItem('employeeInfo')){
        var employeeDetails = JSON.parse(localStorage.getItem('employeeInfo'));
        console.log(employeeDetails.employeeId);
        //$scope.employeeDetails = employeeDetails.employeeId;
        user = employeeDetails.employeeId;
    };
    console.log($scope.test1);
    $scope.alltasks;
    ProjectServices.getAllTasks().then(function(data) {
        $scope.alltasks = data;
        console.log(data);
    });
    $scope.addList = function(task,subtask){
      // console.log(task);
      // console.log(subtask);
       subtask.checked= !(subtask.checked);
       var data = {
       "task_id": task._id,
       "subTaskName": subtask.subTaskName,
       //"subtaskId": subtask._id
    };     
        if(subtask.checked){
          //selectedMap[task._id,subtask.subTaskName] = data;
         selectedMap.push(data);
        } 
    }
    $scope.submit = function(){
    // Do more stuffs here
    taskData.subTasks = selectedMap;
    taskData.userId = user;
    console.log(taskData.userId);
    ProjectServices.saveEmployeeTask(taskData).then(function(data) {
         $state.go('app.calendar');
    });
    }   
})

当我检查值和提交时,它将存储在数据库中。现在我需要显示选中的值。怎么做。有谁能帮帮我吗?

检查此DEMO PLUNKER

无需使用ng-checked, ng-true-value="1"ng-false-value="0"将根据ng-model值进行检查和取消检查

1 ng-model, check the checkbox

0 ng-model, un-check the checkbox