我使用 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/