angular.js - angularjs如何判断checkbox选中2个

浏览:36日期:2023-02-02

问题描述

<!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){ ...}

}`

相关文章: