2015-08-07 4 views
2

Я использую jQuery для отображения символов, оставшихся в текстовом вводе, и он работает нормально, но когда он доходит до 0 символов, он показывает 1, даже если это не позволяет вам для ввода большего количества. Это, наверное, что-то очевидное и простое, но сегодня оно меня превзошло. Вот код, я использую:jQuery character count onkeyup, показывающий 1 символ, когда 0 осталось

= form.text_field :name, { required: true, class: "#{'error' if @project.errors[:name].present?}", placeholder: '40 characters max', maxlength: 40, :onkeyup => "countCharname(this)" } 
span id="charName" class="margin-left-5"    

    function countCharname(val) { 
     var len = val.value.length; 
     if (len >= 40) { 
     val.value = val.value.substring(0, 40); 
     } else { 
     $('#charName').text(40 - len); 
     } 
    }; 

ответ

2

Без тестирования, мое предположение, что, когда она достигает длины макс, длина входа 40. Это означает, что если заявление (len >= 40) верно, так что еще который обновляет $('#charName') с остальными символами, не запускается.

Попробуйте изменить, если заявление (len > 40)

+0

Это сделал это! Я знал, что это будет так просто. Спасибо за свежие глаза. – dotjamie

 Смежные вопросы

  • Нет связанных вопросов^_^