问题描述
<!DOCTYPE html><html ng-app='fromApp'><head lang='en'> <meta charset='UTF-8'> <title></title> <script src='https://www.6hehe.com/wenda/angular.min.js'></script></head><body> <p ng-controller='formController'><p class='form-group'> <form name='formData'> <label class='checkbox-inline'><input type='checkbox' name='favoriteColors' value='red' ng-model='formData.favoriteColors.red'> Red </label> <label class='checkbox-inline'><input type='checkbox' name='favoriteColors' value='blue' ng-model='formData.favoriteColors.blue'> Blue </label> <label class='checkbox-inline'><input type='checkbox' name='favoriteColors' value='green' ng-model='formData.favoriteColors.green'> Green </label><button ng-click='check()'>提交</button> </form></p> </p> <script> var app= angular.module(’fromApp’,[]);app.controller(’formController’,function($scope){ $scope.fromData={}; $scope.check=function(){ }}); </script></body></html>
如何实现点击提交当checkbox选中超过2个做出提示即可
问题解答
回答1:form和from写的好错乱
js var app= angular.module(’fromApp’,[]);app.controller(’formController’,function($scope){ $scope.fromData={}; $scope.check=function(){if($scope.fromData.favoriteColors){ var log = []; angular.forEach($scope.fromData.favoriteColors,function(v){ if(v==true)this.push(v); },log); console.log(log.length);//length} }});回答2:
为什么不用radio呢
如果真要这样,可以
$scope.check=function(){ var checked=[]; if(!$scope.formData.favoriteColors){ return false; } if($scope.formData.favoriteColors.red) checked.push(’red’); if($scope.formData.favoriteColors.blue) checked.push(’blue’); if($scope.formData.favoriteColors.green) checked.push(’green’);
if (checked.length>=2){ ...}
}`