当输入达到限制时,我试图更改边框颜色。我正在用 ng-style 和条件表达式来做这件事。在我的代码中,当它应该是黑色时,它给了我一个红色边框。当它达到极限时它会是红色的。
什么是最好的解决方案?
var vm = this;
vm.valueLength = "1000";
<textarea rows="4" cols="40" ng-model="vm.formData.text" ng-style="{'border-color' : vm.valueLength > 950 ? 'red':'black'}" maxlength="{{vm.valueLength}}" class="form-control" id="text" placeholder="Bericht..."></textarea>
vm.valueLength > 950
由于您将 的值设置vm.valueLength
为 1000,因此条件将始终为真。因此您需要做的是检查输入长度是否大于 950。您可以使用ng-model
value来执行此操作vm.formData.text.length > 950
。
var app=angular.module('plunker', []);
app.controller('ListCtrl',ListCtrl);
function ListCtrl($scope) {
var vm = this;
vm.valueLength = 1000;
vm.formData ={};
}
<!doctype html>
<html ng-app="plunker">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js"></script>
</head>
<body ng-controller="ListCtrl as vm">
<div>
<textarea rows="4" cols="40" ng-model="vm.formData.text" ng-style="{'border-color' : vm.formData.text.length > 950 ? 'red':'black'}" maxlength="{{vm.valueLength}}" class="form-control" id="text" placeholder="Bericht..."></textarea>
</div>
</body>
</html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句