Не срабатывает проверка js

223
28 мая 2017, 21:56

$(document).ready(function(){ 
    var text = document.getElementById('text_sms').value; 
    var count = text.length; 
    $("#counter").html(count); 
    $("#count_sms").html(count); 
    $("#text_sms").keyup(function() { 
        var revText = this.value.length; 
        if(revText <= 0){ 
            $("#counter").html('0'); 
            $("#count_sms").html('0'); 
        }else { 
            $("#counter").html(revText); 
        } 
 
        if(revText <= 70){ 
            $("#count_sms").html('1'); 
        }else if(revText > 70) { 
            $("#count_sms").html('2'); 
            }else if(revText > 140){ // здесь не срабатывает проверка кол-во знаков:показывает 142 а кол-во сообщений: 2 и дальше если водить символы  кол-во сообщений: не меняется  
                $("#count_sms").html('3'); 
            }else if(revText > 210){ 
                $("#count_sms").html('4'); 
            }else { 
                $("#count_sms").html('0'); 
            } 
        }); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<textarea id="text_sms" rows="4" placeholder="<?php echo $template_name;?>" name="text_sms" type="text"  class="form-control"></textarea> 
     <div style="font-size: 14px; position: absolute">кол-во знаков: <span id="counter"></span>&nbsp;  кол-во сообщений: <span id="count_sms"></span></div>

Answer 1

Всё отрабатывает правильно, просто в это условие не заходит код, потому что всегда попадает в условие > 70, чтобы всё работало лучше идти от большего условия к меньшему и тогда всё будет работать:

$(document).ready(function(){ 
    var text = document.getElementById('text_sms').value; 
    var count = text.length; 
    $("#counter").html(count); 
    $("#count_sms").html(count); 
    $("#text_sms").keyup(function() { 
        var revText = this.value.length; 
        if(revText <= 0){ 
            $("#counter").html('0'); 
            $("#count_sms").html('0'); 
        }else { 
            $("#counter").html(revText); 
        } 
 
        if(revText > 210){ 
            $("#count_sms").html('4'); 
        } else if (revText > 140) { 
            $("#count_sms").html('3'); 
        }else if (revText > 70) { 
            $("#count_sms").html('2'); 
        }else if (revText > 0) { 
            $("#count_sms").html('1'); 
        } else { 
            $("#count_sms").html('0'); 
        } 
    }); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<textarea id="text_sms" rows="4" placeholder="<?php echo $template_name;?>" name="text_sms" type="text"  class="form-control"></textarea> 
 <div style="font-size: 14px; position: absolute">кол-во знаков: <span id="counter"></span>&nbsp;  кол-во сообщений: <span id="count_sms"></span></div>

READ ALSO
Как подгрузить js файл в нужный момент?

Как подгрузить js файл в нужный момент?

Нужно подгрузить(и выполнить) js - файл в нужный момент

239
Mongoose схема - todo в подгруппах

Mongoose схема - todo в подгруппах

Хочу понять как правильно реализовать схему и запросы к ней для списка задач в котором есть вложенные спискиКакая идея: можно отдельно создать...

293
Оцените код, господа(JavaScript). Интеграция PCI-Wallet

Оцените код, господа(JavaScript). Интеграция PCI-Wallet

Код интеграции с ресурсом PCI WalletЯ в JavaScript ориентируюсь очень поверхностно и спустя два дня хватания по верхам JS, получился такой 'код'(по рукам...

273
Для каждого th в tr поменять цвет

Для каждого th в tr поменять цвет

Есть у меня вложенный цикл, а в нем строка:

325