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

标签 javascript angularjs

我使用 .push() 创建“List”输入检查数组以发布 REST API。但好像不太对劲。

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

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

最佳答案

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

 $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);

相同的逻辑,但是修改了一点

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);
    }   
}

关于javascript - 创建列表输入检查数组以发布 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120107/

相关文章:

javascript - 在 AngularJS 1.5.0 中获取 $http.get() 中的空返回结果

angularjs - 如何从 AngularJS 应用程序登录到 Google Cloud Logging?

javascript - 使用 ng-idle 时访问范围变量

javascript - angularJS:如何恢复/防止单选按钮事件?

angularjs - URI 中包含斜杠字符 '/' 的标识符

javascript - Angular : directive ng-transclude to input value

javascript - Google Analytics 跟踪外部 JS 文件中的代码

javascript - 更改选择突出显示的高度

javascript - 命名函数(而不是匿名)和创建对它的引用有什么区别?

javascript - JavaScript 中使用正则表达式进行日期解析