【发布时间】:2015-08-24 17:52:22
【问题描述】:
此页面列出了带有复选框的商店。我需要为复选框添加必填字段,如果在该复选框中未选择任何内容,我需要输入错误消息,此字段为必填项,并且未选择任何内容,如果用户选择了该商店列表中的任何一个,则应禁用提交按钮 必填消息应该消失并且提交按钮应该启用。我已经完成了,但是当我检查 3 商店时,只有消息消失并启用了提交按钮。 期望:当用户选中任何列出的复选框消息时,复选框消息应该消失并且提交按钮应该启用。如果在该复选框消息中没有选中任何内容,并且提交按钮应该被禁用。
function Test1Controller($scope) {
var serverData = ["Store1", "Store2", "Store3"];
$scope.items = [];
for (var i = 0; i < serverData.length; i++) {
var modal = {
name: serverData[i],
selected: false
};
$scope.items.push(modal);
}
$scope.check = function() {
var checkedItems = [];
for (var i = 0; i < $scope.items.length; i++) {
if ($scope.items[i].selected) {
checkedItems.push($scope.items[i].name);
}
}
console.log(checkedItems);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
<div ng-app>
<form name="projectForm">
<div ng-controller="Test1Controller">
<div ng-repeat="item in items">
<input type="checkbox" ng-model="item.selected" required="" /> {{item.name}}
</div>
<div class="form-error" ng-messages="projectForm.booktime.$error">
<div class="form-error" ng-message="required">* Mandatory</div>
</div>
<input type="button" name="submit" value="submit" ng-disabled="projectForm.$invalid" ng-click="check()" />
</div>
</div>
</form>
【问题讨论】:
-
与此答案相同:stackoverflow.com/a/19633860/624590(使用复选框组和验证功能来检查是否选择了某些/任何内容)
-
对不起,你能帮我做同样的事情,但它不适合我
-
如果未选中复选框,我的期望提交按钮应该被禁用。如果选择了任何一个,那么只有用户可以提交
标签: javascript angularjs checkbox