如何在angularjs中更改文本框类,同时键入和检查条件

How to change textbox class in angularjs while typing and checking condition?

本文关键字:条件 检查 angularjs 文本      更新时间:2023-09-26

我正在尝试在运行时更改文本框类,如果item.value大于10,则应用类success,否则应用类danger

这是我正在使用的代码。

<div ng-controller="MyCtrl">
  <div ng-repeat="item in items">
<td>{{item.name}}</td>
<input type="text" ng-model="item.value">
</div>
</div>
<!-- 
<input ng-class="{'success': {{item.value > 10 ? true : false}}, 'danger': !{{item.value > 10 ? true : false}}}" type="text" ng-model="report.attribute_result">
-->

var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
    $scope.items = [{name:'abc',value:10},{name:'xyz',value:8},{name:'lmn',value:15}];
}

下面是jsfiddle:http://jsfiddle.net/Lvc0u55v/3452/

请指导我解决这个问题。

只需使用ng-class属性如下:

<input type="text" ng-model="item.value" ng-class="{'success': item.value > 10, 'danger': item.value <= 10}">

请参阅更新的JSFiddle。

ng-class内部不需要{{item.value > 10 ? true : false}}或类似的东西。http://jsfiddle.net/Lvc0u55v/3454/

ng-class="{'success': item.value > 10, 'danger': item.value <= 10 }" 

将输入更改为此

<input ng-class="(item.value > 10)?'success':'danger'" type="text" ng-model="report.attribute_result">