-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlimited-input-countdown.js
28 lines (24 loc) · 1.01 KB
/
limited-input-countdown.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function initCountdownWatcher(elementToWatchAsString, elementToUpdateAsString, maximum) {
let localElementToUpdateAsString = elementToUpdateAsString;
let localMaximum = maximum;
enableCharacterCountdown(elementToWatchAsString);
function enableCharacterCountdown(elementToWatchAsString) {
$(elementToWatchAsString).on("change", updateCountdown);
$(elementToWatchAsString).on("keyup", updateCountdown);
$(elementToWatchAsString).trigger("keyup");
}
function updateCountdown() {
if (!$(this)) {
return;
}
if (!$(this).val()) {
$(localElementToUpdateAsString).text(localMaximum + " characters remaining.");
}
var remaining = localMaximum - $(this).val().length;
if (remaining < 0) {
$(localElementToUpdateAsString).text("Maximum length has been reached");
} else {
$(localElementToUpdateAsString).text(remaining + " characters remaining.");
}
}
}