Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

calcular caracteres restantes para 2 inputs

Pessoal preciso de uma ajudinha com aquele velho JS de sempre rsrs, tenho 1 input e 1 textarea e queria visualizar os caracteres restantes de um total de 150 em tempo real de digitação do teclado, mas sempre que mudo para um campo ou outro a contagem fica estranha, não calcula certinha, como é bem pequeno o código, se alguém puder rodar ele e me ajudar agradeço muito.

HTML

<div>
<input type="text" class="okk">
<textarea class="okk" rows="7"></textarea>
<small for="review" class="form-control-feedback caracteres"> </small> 
</div>

JS

            $(document).on("input", ".okk", function () {
                var limite = 150;
                var informativo = "caracteres restantes.";
                var caracteresDigitados = $(this).val().length;
                var caracteresRestantes = limite - caracteresDigitados;

                if (caracteresRestantes <= 0) {
                    var comentario = $("textarea[name=mensagem]").val();
                    $("textarea[name=mensagem]").val(comentario.substr(0, limite));
                    $(".caracteres").text("0 " + informativo);
                } else {
                    $(".caracteres").text(caracteresRestantes + " " + informativo);
                }
            });
2 respostas
solução!

Fala Rodrigo, tudo bom? Uma coisa que você poderia fazer seria ao invés de monitorar a digitação direto no elemento .ook monitorar o evento de input, keypress no elemento pai dos dois.

Sempre que um elemento filho da div que agrupa os dois receber alguma interação de digitação do usuário você dispara um evento, seleciona os dois elementos e faz sua operação :)

Eu fiz um exemplo se baseando no código que você mandou, espero ter ajudado \o

https://codepen.io/omariosouto/pen/MGBKdM?editors=1111

show de bola, vlw!