Reputation: 109
How would I add a limit (10 characters) to the function where the counter stops when reached?
When 10 characters are entered, chars-counter
stops counting (and 10 would be displayed). If erased, it would count backwards back to 0.
$(document).ready(function() {
var textarea = $("#my_textarea");
textarea.keydown(function(event) {
var numbOfchars = textarea.val();
var len = numbOfchars.length;
$(".chars-counter").text(len);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="my_textarea" class="uk-textarea" rows="5" name="text"></textarea>
<h1 class="chars-counter">0</h1>
Upvotes: 1
Views: 406
Reputation: 15555
$(document).ready(function() {
var textarea = $("#my_textarea");
textarea.on('input',function(event) {
var numbOfchars = $(this).val();
var len = numbOfchars.length;
var text;
len <= 10 ? text = len : text = "over"
$(".chars-counter").text(text);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="my_textarea" class="uk-textarea" rows="5" name="text"></textarea>
<h1 class="chars-counter">0</h1>
Upvotes: 1
Reputation: 499
If you want the counter to stop at 10 but the field to keep working you can edit your code like this:
$(document).ready(function() {
var textarea = $("#my_textarea");
textarea.keydown(function(event) {
var numbOfchars = textarea.val();
var len = Math.min(numbOfchars.length, 10);
$(".chars-counter").text(len);
});
});
Upvotes: 1
Reputation: 13434
You can do something like:
$(document).ready(function() {
var textarea = $("#my_textarea");
textarea.keydown(function(event) {
var numbOfchars = textarea.val();
var len = numbOfchars.length;
if (len == 10) {
e.preventDefault(); // stop when it is 10
} else {
$(".chars-counter").text(len);
}
});
});
Upvotes: 1