вот plunker ссылка->http://plnkr.co/edit/iFnjcq?p=previewСтиль шрифта для поля ввода (Angularjs)
Как вы можете видеть в ссылке, он выполняет проверку поля ввода. разрешается вводить только числа, и автоматически добавляет запятые.
Мой вопрос -> если я даю отрицательное число в этом поле, как я могу автоматически изменить цвет значения, введенного в этом поле.
i.e Положительное число должно отображаться как есть. когда пользователь вводит отрицательный, цифры вводятся красным цветом текста.
Есть ли способ, которым я могу достичь этого?
HTML-
<div ng-controller="MainCtrl">
<input type="text" ng-model="amount" format="number" />
</div>
JS директива
var app = angular.module('App',[]);
app.controller('MainCtrl', function ($scope) {
});
app.directive('format', ['$filter', function ($filter) {
return {
require: 'ngModel',
link: function (scope, elem, attrs, ctrl) {
if (!ctrl) return;
ctrl.$formatters.unshift(function (a) {
return $filter(attrs.format)(ctrl.$modelValue);
});
ctrl.$parsers.unshift(function (viewValue) {
var plainNumber = viewValue.replace(/[^\d|\-+]/g, '');
elem.val($filter('number')(plainNumber/100,2));
return plainNumber;
});
}
};
}]);
Что касается сейся перезаписи обсуждаемого ниже, вот проблема.
Реальный HTML код
<div class="Ip"><input type="text" ng-model="amount" format="number" /></div>
CSS-прикладывается через СКС для класса Ip. Здесь
$font:#fff; //this font gets overwritten. even if i exclude this font of bootstrap is there which will overwite the class mentioned in directive.
.inputCl{
color:$font;
}
.Ip{
input{
@extend .inputCl;
}
}
этот тип входа внутри a div. поэтому css div переписывается в css, упомянутом нами в директиве. Как я могу не переписать его? – Ayesha
Можете ли вы опубликовать css, который используете? CSS имеет концепцию специфичности, где CSS с наивысшей спецификой «победит». Мне нужно будет увидеть ваш css, чтобы узнать, что может вызвать проблему переопределения. – mcgraphix
@ mcgraphix- отредактировал вопрос, чтобы предоставить больше обзоров по проблеме перезаписи, с которой я столкнулся. – Ayesha