【发布时间】:2015-12-30 15:27:45
【问题描述】:
我有 3 个输入字段部分,用 JSON 数组生成的不同标题(Laser Pass、The Giggsy、The setup)分隔。这是它的样子:
我想比较 Score 和 Attempts 两个字段,如果 Score 的值大于 Attempts 则显示错误消息。像这样的:
但是像 The Giggsy 这样的部分有不同类型的输入字段,无需比较/检查这些字段。只有当它有 SCORE 和 ATTEMPTS 时才应该比较。
我可以做些什么来以有角度的方式制作这些东西。这是我到目前为止所做的:PLUNKER
HTML:
<div class="row" ng-repeat="all in options">
<h4> {{ all.name}} </h4>
<div class="col-sm-5ths" ng-repeat="measurement in all.measurements">
<div class="form-group no-margin form-oneline">
<label style="width: 100%">{{ measurement.name }}</label>
<input ng-model="measurement.value" type="{{ measurement.type }}" min="{{ measurement.min }}" max="{{ measurement.max }}" class="form-control display-inline" required>
<label style="width: 100%">{{ measurement.scale }}</label>
</div>
</div>
<span style="color:red;" ng-show="testDataFieldWarning(options.measurements)">
Score can't be larger then Attempts
</span>
<span style="color:Green;" >
Done!!
</span>
</div>
<button type="submit" style="margin-top:50px;" ng-disable="">Submit</button>
JS
$scope.testDataFieldWarning = function (measurements) {
var score = 0 , attempts = 0;
angular.forEach(measurements, function(measurement) {
if((measurement.name) == 'Score'){
score = measurement.value;
}
if((measurement.name) == 'Attempts'){
attempts = measurement.value;
}
});
return attempts < score;
}
$scope.testDataFieldValidate = function (measurement) {
var isInvalid = false;
angular.forEach(measurement, function(v) {
if(typeof (v.value) == 'undefined'){
isInvalid = true;
}
});
return (isInvalid);
}
抱歉英语和解释不好。
【问题讨论】:
标签: javascript angularjs