angular checkbox编辑怎么回显返回的数据

新增checkbox的数据,编辑的时候怎么让返回的数据处于选中效果,可以再次进行操作?

 <label class="needsclick" ng-repeat="color in group" style="margin-right: 10px;">
    <input type="checkbox" ng-checked="isChecked(color.tlid,color.type,color.name)" class="needsclick"
           ng-click="updateSelection($event,color.tlid,color.type,color.name)" />
    <span class="fa fa-check"></span>{{color.name}}
</label>
$scope.selected = [] ;
$scope.isChecked = function(id){
    console.log($scope.selected)
    return $scope.selected.indexOf(id) >= 0 ;
} ;
$scope.updateSelection = function($event,id,type,name){
    var checkbox = $event.target ;
    var checked = checkbox.checked ;
    if(checked){
        $scope.selected.push({      //提交的数据格式和返回的一样是json 
            tlid:id,
            type:type,
            name:name
        }) ;
        $scope.formData.travelarrangeDetails=$scope.selected ;
        console.log( $scope.formData.travelarrangeDetails)
    }else{
        var idx = $scope.selected.indexOf(id) ;
        $scope.selected.splice(idx,1) ;
    }
} ;
//数据格式就是下面这种
$scope.selected={
 [
    name:"陈老板酒店"
    tlid:"7c2a2a4f-7cd3-44c8-a1e5-aac554d69ba4"
    type:1
],
 [
    name:"美食"
    tlid:"b40c8511-adf9-438e-90b4-5cd317ffd2f4"
    type:2
],
}
阅读 2.7k
1 个回答

clipboard.png

不用的参数 最好不要写上去,代码简洁一点。

isChecked这个方法改一下。

$scope.isChecked = function(id){
    console.log($scope.selected)
    return $scope.selected.tlid == id;
} ;

$scope.selected是一个数组 修改一下方法

$scope.isChecked = function(id){
    var is = false; //新建一个标识
    $scope.selected.forEach(function(item){
      if(item.tlid == id){
        is = true;
      }
    })
    return is;
} ;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题