当输入达到极限时,我试图更改边框颜色。我是用ng样式和条件表达式来完成这个任务的。在我的代码中,现在它给了我一个红色边框,而它应该是黑色的。当它达到极限时,它就会变成红色。
什么是最好的解决办法?
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>
发布于 2017-11-21 09:45:31
条件vm.valueLength > 950将始终为真,因为您将vm.valueLength的值设置为1000。因此,您需要做的是检查输入长度是否大于950。您可以通过使用ng-model值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>
https://stackoverflow.com/questions/47409465
复制相似问题