JQuery文本区域字符数

时间:2015-08-03 11:46:26

标签: javascript jquery html

我正在尝试使用Jquery来计算文本区域中的字符,这是我到目前为止所拥有的...

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

 <script  type="text/javascript">
     $(document).ready(function() {
            $("#textfield").on('keyup, paste', function(){

            var Characters = ("#textfield").val().replace(/(<([^>]+)>)/ig,"").length;

            $("#counter").text("Characters left: " + (1500 - Characters));

        });
    });
</script>

</head>
<body>

 <form  id="input_form"  method="POST" action="?">
 <textarea  id="textfield"></textarea>
</form>

<div id="counter"></div>  

</body>
</html>

我的div中没有​​输出任何内容......任何想法为什么?

2 个答案:

答案 0 :(得分:2)

您的代码中有两个问题

1)将事件列表/多个事件传递给on方法时不需要逗号。它应该是.on('keyup paste'

2)获取textarea的文本值时缺少jquery选择器。你应该使用

 $("#textfield").on('keyup, paste', function(){
        var Characters = $("#textfield").val().replace(/(<([^>]+)>)/ig,"").length;
        $("#counter").text("Characters left: " + (1500 - Characters));
 });

<强> Working Demo

答案 1 :(得分:1)

有两个问题:

  1. .on('keyup paste'从此处删除逗号
  2. $("#textfield").val().replace此处$在选择器中缺失。
  3. &#13;
    &#13;
         $(document).ready(function() {
                $("#textfield").on('keyup paste', function(){ // <---remove ',' comma
    
                var Characters = $("#textfield").val().replace(/(<([^>]+)>)/ig,"").length; // '$' is missing from the selector
    
                $("#counter").text("Characters left: " + (1500 - Characters));
    
            });
        });
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
     <form  id="input_form"  method="POST" action="?">
     <textarea  id="textfield"></textarea>
    </form>
    
    <div id="counter"></div>
    &#13;
    &#13;
    &#13;