创建列表输入已检查数组以发布REST API

时间:2013-06-15 04:12:18

标签: javascript angularjs

我使用.push()创建了“List”输入检查数组,用于发布REST API。但这似乎不对。

取消选中时,数组中的项目不会自动删除。任何人都有更好的解决方案,请帮助我! TKS

http://plnkr.co/edit/Y0YggxvVN1epIMWAdtiU?p=preview

1 个答案:

答案 0 :(得分:1)

你可以这样做......它有效。不能说这是最好的解决方案

 $scope.$watch('lists', function(lists){
    $scope.count = 0;
    angular.forEach(lists, function(list){
      if(list.checked){
        $scope.count += 1;
        if (inputsList.indexOf(list.id) == -1) {
            inputsList.push(list.id);
        };
      } else {
          inputsList.pop(list.id);
      }
    })
  }, true);

相同的逻辑,但是,修改了lil

index.html(添加了ng-click)

<input type="checkbox" name="list_id[]" ng-model="list.checked" value="{{list.id}}" ng-click='updateItem(list)' />

app.js(已删除$ scope。$ watch和...)

$scope.currentSelectedItem = [];      
$scope.updateItem = function(item) {
    if(item.checked) {
        $scope.currentSelectedItem.push(item);
    } else {
        $scope.currentSelectedItem.pop(item);
    }   
}