angularJS怎么校验checkbox必须选中一个,换句话说就是怎么校验checkbox必须选择。

页面初始加载时,表单中的checkbox默认是全不选的,这时表单无法提交,必须选择至少一个后才能提交,就是对checkbox的必选校验(angularJS)... 页面初始加载时,表单中的checkbox默认是全不选的,这时表单无法提交,必须选择至少一个后才能提交,就是对checkbox的必选校验(angularJS) 展开
 我来答
yt_9119
推荐于2016-02-16 · TA获得超过812个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:308万
展开全部
试试这个例子:
<!DOCTYPE html>
<html ng-app="test">
<head>
    <title>checked</title>
</head>
<body ng-controller="chkCtrl">

    <input type="checkbox" ng-model="m1">1<br/>
    <input type="checkbox" ng-model="m2">2<br/>
    <input type="checkbox" ng-model="m3">3<br/>
    <input type="checkbox" ng-model="m4">4<br/>

    <button ng-click="sub()">提交</button>

    <script type="text/javascript" src="./angular.min.js"></script>
    <script>
        var app = angular.module('test', []);

        app.controller('chkCtrl', function($scope){

            $scope.sub = function(){

                //m1到m4之间只要有一个选中 mode就是true
                if($scope.m1 || $scope.m2 || $scope.m3 || $scope.m4){
                    alert('可以提交')
                }
            };
        });
    </script>
</body>
</html>
追问
谢谢你的回答,这个checkbox是ng-repeat指令后台动态取的,数量不确定,一般也会很多,这样不好没个都判断一下
追答
试试这种思路:
watch checkbox的值是否改变
<body ng-controller="chkCtrl">
    <div ng-repeat="item in chkList"><input type="checkbox" ng-model="item.checked">1</div>
    <button ng-click="sub()">提交</button>
    <script type="text/javascript" src="./angular.min.js"></script>
    <script>
        var app = angular.module('test', []);
        app.controller('chkCtrl', function($scope){
            $scope.chkList = [
                {id:1, checked: false},
                {id:2, checked: false},
                {id:3, checked: false},
                {id:4, checked: false}
            ];
            var flag = false;
            $scope.$watch('chkList', function(newValue, oldValue) {
                if(newValue !== oldValue){
                    flag = true;
                }
            }, true);
            $scope.sub = function(){
                if(flag){
                    alert('可以提交了')
                }
            };
        });
    </script>
</body>
</html>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式