jQuery 字符计数 onkeyup 在剩余 0 时显示 1 个字符

标签 jquery ruby-on-rails forms slim-lang

我使用 jQuery 来显示文本输入中剩余的字符,它工作正常,但当剩余字符数为 0 时,它会显示 1,即使它不允许您输入更多字符。这可能是显而易见且简单的事情,但今天却让我感到困惑。这是我正在使用的代码:

= 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);
      }
    };

最佳答案

未经测试,我的假设是,当达到最大长度时,输入长度为40。这意味着if语句(len >= 40)为真,因此else语句,它用剩余的字符更新 $('#charName') ,但不会运行。

尝试将 if 语句更改为 (len > 40)

关于jQuery 字符计数 onkeyup 在剩余 0 时显示 1 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31883239/

相关文章:

javascript - 在另一个 View 中加载数据后加载部分 View (或多个 View )

javascript - 通过单击周围的 td 来单击复选框

ruby-on-rails - JWT token 会在框架之间交叉兼容吗?

ruby-on-rails - 有没有办法在浏览器中显示 Rails 的日志文件?

javascript - javascript 表单中 grabFormSelects() 的用途是什么?

c# - 如何在 ASP.NET MVC 3 中限制文件上传为 JPG、PNG 和 GIF

c# - 在枚举列表中的按钮上使用 jquery

javascript - rails 中图像的 fancybox 不起作用

jquery - 通过http查询填写表单

ruby-on-rails-3 - 如何在simple_form中的标签标签后插入<br>?