如何使用jQuery创建textarea倒计时?

时间:2015-10-11 21:24:48

标签: javascript jquery html countdown

我正在处理此调查表,我正在尝试编写一个字符数限制为500的评论区域。根据我所见,我做了所有事情"对",但显然我必须忽视某些事情。

这是我的his answer

HTML

sizeof

的jQuery

{{1}}

警告是真的让我看看它是否正在工作或触发,这是不是。我错过了什么?

2 个答案:

答案 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;
&#13;
&#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");

  });
});