2016-08-18 2 views
0

В моем поле textarea должно быть указано количество символов, оставшихся до указанной максимальной длины. Но счет ошибочен, когда символы пробелов/символов новой строки вводятся пользователем или когда текст вставлен из другого места.Число символов angular.js textarea для исключения счетных пробелов и новой строки

Мне нужно знать, имеет ли угловое устройство какую-либо директиву или способ поддержать исключение пробела/новой строки.

<textarea class="form-control" maxlength="{{desc}}" my-maxlength = "{{desc}}" maxlen="maxlen" type="text" ng-model="problem.DESCRIPTION" aria-describedby="qDesc" id="questionDescription" name="questionDescription" ng-required="caseType" lang-check></textarea> 
<p ng-show="problem.DESCRIPTION.length > (desc-5)" class="text-danger pull-right" id="qDesc">{{ desc - problem.DESCRIPTION.length}} {{ resource["textcount.sublabel.maximumcharacters"] }</p> 

ответ

0

Вы могли бы сделать фильтр, чтобы возвращать число непробельных символов

yourModule.filter('charCount', function() { 
    return function(text) { 
     return (text.match(/\S/g) || []).length; 
    }; 
}) 

и использовать его в шаблоне

problem.DESCRIPTION | charCount 
0

здесь является angularjs решение вам нужно, попробуйте использовать

нг-дифферент = "ложно"

в текстового поля. Вот пример

<body ng-app> 
    <textarea ng-model="test" ng-trim="false" maxlength="1500"></textarea> 
    <span>{{1500 - test.length}} left</span> 
</body> 
+0

Я не вижу, как это собирается помочь ОП в * «поддержать исключение пространства/перевод строки подсчитывают» * – Phil

-1

Вы не можете просто запустить problem.DESCRIPTION.length в ng-show или в {{}}, он не будет работать, вы должны создать функцию и вставить в ng-show или {{}}

В контроллере создать функция для удаления пробелов из строки и вернуть его длина

JS:

$scope.countLength = function(str){ 
    if (str==undefined){ 
     return 0;      
    } 
    else{ 
     return str.replace(/ /g,'', '').length; 
    } 
} 

HTML:

<p ng-show="countLength(problem.DESCRIPTION) > (desc-5)" class="text-danger pull-right" 
id="qDesc">{{ desc - countLength(problem.DESCRIPTION)}} 
{{ resource["textcount.sublabel.maximumcharacters"] }</p> 

Посмотрите на пример здесь: JSFiddle

Смежные вопросы