我正在处理此调查表,我正在尝试编写一个字符数限制为500的评论区域。根据我所见,我做了所有事情"对",但显然我必须忽视某些事情。
这是我的his answer。
HTML
sizeof
的jQuery
{{1}}
警告是真的让我看看它是否正在工作或触发,这是不是。我错过了什么?
答案 0 :(得分:6)
第一行中有错误。
$(document).ready(function {
仅更改为:
$(document).ready(function() {
当您尝试获取评论字段的长度时,您需要使用.val()
函数。它在普通JavaScript中等同于.value
。
但是,您可以使用下一个优化代码:
var maxlength = parseInt(comment.attr("maxlength"), 10);
上面的代码会存储评论的字段maxlength
。所以你可以试试:
$(document).ready(function() {
var comment = $(".comment");
var maxlength = parseInt(comment.attr("maxlength"), 10);
comment.on("keyup keypress change", function() {
charCount = $(this).val().length;
charRemain = maxlength - charCount;
//$(this).prev().prev("span").text(charRemain + " Characters remaining");
$(".char-remain").text(charRemain + " Characters remaining");
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span class="char-remain">500 Characters remaining</span>
<br />
<textarea class="comment" rows="10" cols="50" maxlength="500">Enter Text Here</textarea>
&#13;
正如@TiesonT所说。在评论中,您可以使用以下方式轻松获取范围内容:
$(".char-remain").text(charRemain + " Characters remaining");
在这种情况下,您不必担心评论字段和范围内容之间的标记。
<强>更新强>
您可以与keypress
事件绑定,以便在用户按键时获取当前长度。
comment.on("keyup keypress change", function() {
答案 1 :(得分:1)
你在这里犯了两个错误。
您的文档准备好了其次没有正确的语法,从文本区域获取的值不是text()
,而是val()
。
$(document).ready(function() {
comment = $(".comment");
comment.on("keyup change", function() {
charCount = $(this).val().length;
charRemain = 500 - charCount;
$(this).prev("span").text("(" + charRemain + ")");
alert(charRemain + "Characters Remaining");
});
});