请帮帮我!我有一个文本区域,它计算并显示用户输入的文本的数量,但是当文本增加或减少时,counter元素会在dom上创建重复的文本。我想让它显示一个元素,但是计数器的数量要改变。请帮帮我。我的jquery代码如下。
//on type show text remain on textarea inout fields
$('textarea').on("input", function(){
var maxlength = $(this).attr("maxlength");
var currentLength = $(this).val().length;
var $txtremain = maxlength - currentLength;
if( currentLength >= maxlength ){
console.log("You have reached the maximum number of characters.");
}else{
if ($('.txtacntr').length === 0) {
$(this).after('<span class="txtacntr">' + $txtremain + ' chars left. </span>');
}
}
});发布于 2021-06-01 09:17:47
只需将div与span放在一起,然后在其中更改数字即可。
您的状态不是很好"<=“更改的"===”。
//on type show text remain on textarea inout fields
$(".counter span").text($('textarea').attr("maxlength"));
$('textarea').on("input", function(){
var maxlength = $(this).attr("maxlength");
var currentLength = $(this).val().length;
var $txtremain = maxlength - currentLength;
//console.log(maxlength);
//console.log(currentLength);
if (currentLength === maxlength) {
$(".counter span").text('0');
} else if ($('.txtacntr').length <= maxlength) {
$(".counter span").text($txtremain);
} else if( currentLength >= maxlength ){
console.log("You have reached the maximum number of characters.");
}
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea maxlength="60"></textarea>
<div class="counter"><span></span> chars left.</div>
发布于 2021-06-01 20:40:56
这对我来说终于管用了。
$('textarea').on("input", function(){
var maxlength = $(this).attr("maxlength");
var currentLength = $(this).val().length;
var $txtremain = maxlength - currentLength;
if (currentLength === maxlength) {
$(".counter span").text('0');
} else if ( currentLength <= maxlength) {
$(".counter span").text($txtremain);
}
});https://stackoverflow.com/questions/67781433
复制相似问题