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

时间:2015-10-19 10:40:52

标签: javascript angularjs ionic-framework

我有像这样的离子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');
    });
    }   
})

当我检查值并提交它将存储在数据库中。现在我需要显示选中的值。怎么做。任何人都可以帮忙..

1 个答案:

答案 0 :(得分:1)

选中此DEMO PLUNKER

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

IF ng-model值为1 那么 check the checkbox

IF ng-model值为0 那么 un-check the checkbox