javascript - 如何在angularjs中的提交功能上获取ng-repeat复选框值

标签 javascript angularjs

我有一个包含 10 个复选框的表单。默认情况下,angular js 在单个复选框上触发。我只想在提交操作时获取所有选中的复选框值。这是我的代码...

<form name="thisform" novalidate data-ng-submit="booking()">
    <div ng-repeat="item in items" class="standard" flex="50">
        <label>
            <input type="checkbox"  ng-model="typeValues[item._id]" value="{{item._id}}"/>
            {{ item.Service_Categories}}
        </label>
    </div>
    <input type="submit" name="submit" value="submit"/>
</form>

$scope.check= function() { 
    //console.log("a");
    $http.get('XYZ.com').success(function(data, status,response) { 
    $scope.items=data;
});

$scope.booking=function(){
    $scope.typeValues = [];
    console.log($scope.typeValues);
}

我得到的是空数组。

有人能告诉我如何仅在提交事件时获取所有选中的复选框值。

最佳答案

<div ng-repeat="item in items">
    <input type="checkbox" ng-model="item.SELECTED"  ng-true-value="Y" ng-false-value="N"/>
</div>
<input type="submit" name="submit" value="submit" ng-click="check(items)"/>

$scope.check= function(data) { 
    var arr = [];
    for(var i in data){
       if(data[i].SELECTED=='Y'){
           arr.push(data[i].id);
       }
    }
    console.log(arr);
    // Do more stuffs here
}

关于javascript - 如何在angularjs中的提交功能上获取ng-repeat复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31000636/

相关文章:

javascript - Angular Toggle 类仅适用于单个 div

angularjs $location.path 仅在第二次单击时更新 URL

javascript - Selenium:如何跟踪 DOM 操作以查找元素的可见性?

javascript - XMLHttpRequest 对象的 open() 和 send() 方法有什么区别?

javascript - 在 ES6 类语法中,为什么 setPrototypeOf() 起作用而其他类似方法不起作用

javascript - 如何修改传递给 php 的 Angular 变量字符串

angularjs - 如何使用moment js和angularjs获取子午线(上午/下午)

javascript - 其他浏览器的最佳 Firebug 等价物是什么?

javascript - 仅当未定义 AngularJS 时才通过

javascript - angularjs - 当 $interval 触发时 ng-show 不会更新类