У меня есть счетчик, созданный для приложения с множеством форм, поэтому было проще создать диапазон для каждого существующего текстового поля в приложении без изменения разметки. Я не уверен, как обрабатывать оператор if без изменения текущей функциональности. Как это написать более эффективно?
$(document).ready(countChar);
function countChar() {
$('textarea').each(function () {
$(this).after(function () {
return "<span id=" + this.id.replace(/['"]+/g, '') + 'Counter' + "></span>";
});
$(this).on("keyup change", function () {
var max = $(this).attr('maxlength');
var len = $(this).val().length;
var counterId = $('span#' + this.id.replace(/['"]+/g, '') + 'Counter');
if (len <= max) {
var remaining = max - len;
counterId.text(remaining + '/' + max);
}
}).triggerHandler('keyup');
})
};