gpt4 book ai didi

javascript - 使用 AngularJs 验证复选框

转载 作者:行者123 更新时间:2023-11-28 04:18:28 25 4
gpt4 key购买 nike

我再次遇到了复选框问题。我从 API 获取信息并显示类似复选框。当我尝试添加验证时,问题就出现了。这是我的代码的一部分:

(function() {
'use strict';
var fact = {
templateUrl: './app/components/fact.components.html',
controller: factCtrl
};
angular.module('fApp').component('odcFacturas', fact);
factCtrl.$inject = ["$scope", "couponApi"];

function factCtrl($scope, couponApi) {
var vm = this;
vm.clientOrder = null;
vm.all = false;
vm.sendData = function() {
vm.apiData = couponApi.get({
idOrder: vm.idOrder
}).$promise.then(function(data) {
for (var i = 0; i < data.Response.length; i++) {
data.Response[i].Select = vm.all;
}
vm.coupons = data.Response;
vm.combo = data.Response.length > 0;
});
}

这里我调用信息,代码的下一部分检查所有复选框:

vm.selectAll = function() {
for (var i = 0; i < vm.coupons.length; i++) {
vm.coupons[i].Select = vm.all;
}
if (vm.all == 0) {
alert("Select at least one coupon");
}
}

如何使用提交按钮触发三个验证?我的意思是:我想做的是验证三种情况:

  1. 如果选中“选择所有复选框”复选框,则提交
  2. 如果没有选中复选框,则显示提醒消息
  3. 如果至少选择了一个复选框(或“n”个复选框),提交

在 HTML View 中我有这个:

<div class ="container-fluid">
<div class="row">
<div class="col-md-6">
<div class="cbx input-group">
<div class="checkbox" name="imtesting" ng-show="$ctrl.coupons.length > 0">
<label><input type="checkbox"
ng-show="$ctrl.coupons.length > 0"
name="allCoupons"
ng-model="$ctrl.all"
ng-click="$ctrl.selectAll()"/>Select all coupons</label>



<ul>
<li ng-repeat="c in $ctrl.coupons">
<input type="checkbox"
name="couponBox"
ng-model="c.Select"
ng-click="$ctrl.result()"
required/>{{c.CodeCoupon}}
<br>
</li>
</ul>
<label class="label label-danger" ng-show="submitted == true && !ctrl.newTest()">Select at least one coupon</label>
</div>
</div>
</div>
</div>


希望你能帮助我。

提前致谢。

最佳答案

您可以使用每个优惠券对象的 Select 属性,例如

vm.canSubmit = function() {
for(var i = 0; i< vm.coupons.length; i++)
{
if (vm.coupons[i].Select) {
return true;
}
}
return false;
}

关于javascript - 使用 AngularJs 验证复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45639897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com