【问题标题】:Select multiple checkboxes using angularjs but unable to get selected one使用angularjs选择多个复选框但无法选择一个
【发布时间】:2017-12-20 21:04:29
【问题描述】:

我正在尝试使用 angularjs 获取选定复选框的列表。但无法被选中。

HTML代码在这里

<div class="item" ng-repeat="x in result">
    <div class="item-image">
        <input type="checkbox" id="product_{{x.id}}"  class="form-control" ng-model="x.Selected">
    </div>
    <div class="item-name">
        {{ x.category_name }}
    </div>
</div>

脚本代码:

.controller('categorieCtrl', function($scope, $http) {  
   $scope.result = [{
            id: 1,
            category_name: 'Apple',
            Selected: false
        }, {
            id: 2,
            category_name: 'Mango',
            Selected: false
        }, {
            id: 3,
            category_name: 'Orange',
            Selected: false
        }];

 $scope.myFunc = function () {
     debugger;
     var message = "";
            for (var i = 0; i < 3; i++) {
                if ($scope.result[i].Selected) {
                    var id = $scope.result[i].id;
                    var categoryName =  $scope.result[i].category_name;
                    message += "Value: " + id + " Text: " + categoryName + "\n";
                }
            }
        alert(message);
    };
});

在上面的代码中,我没有得到选定的项目。请让我知道如何使用 angularjs 获取选定的项目。

【问题讨论】:

  • 我认为your code 没有任何问题。你能解释一下什么不能按预期工作吗?

标签: angularjs checkbox


【解决方案1】:


我用你的代码here 创建了一个 plunkr,它工作正常。我想你没有正确调用myFunc()

而且也不是使用

for (var i = 0; i < 3; i++) {
  if ($scope.result[i].Selected) {
      ...
  }
}


您可以使用 angular.forEach 直接为您提供对象

angular.forEach(($scope.result, function(result, index){
  if (result.selected){
     ...
 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多