2 回答
![?](http://img1.sycdn.imooc.com/545850200001359c02200220-100-100.jpg)
TA贡献1943条经验 获得超7个赞
你有这个的地方:
let text_length = $('.text-lines .form-input').val().length;
let text_remaining = text_max - text_length;
我想你真正想要的是
let text_length = this.value.length;
let max_length = this.getAttribute("maxlength");
let text_remaining = max_length - text_length;
不要再做jquery获取文本长度,获取input元素的最大长度属性
![?](http://img1.sycdn.imooc.com/533e4c9c0001975102200220-100-100.jpg)
TA贡献1765条经验 获得超5个赞
我用你的代码来增加功能。下面是一个例子:
$(document).ready(function() {
const inputs = $('.form-input');
inputs.each(function(index, element){
inputLengthCounter($(element).attr('id'));
});
});
function inputLengthCounter(input_id) {
const input = document.getElementById(input_id);
const text_max = input.maxLength;
const counter = $(input).next('.characters-left').find('.counter');
$(counter).html(text_max);
$(input).keyup(function() {
let text_length = $(this).val().length;
let text_remaining = text_max - text_length;
$(counter).html(text_remaining);
});
}
https://jsfiddle.net/o20q79n8/
它为每个具有 id 和 maxlength 属性的输入运行函数 inputLengthCounter。
添加回答
举报