在jquery中附加文本长度

时间:2014-09-12 11:48:30

标签: javascript jquery html

我正在尝试将文本字段的值的长度附加到标签,它实际上会附加,但是对于每个值,它会附加一个新的长度(不替换旧的长度)。

<html>
<head>
</head>
<script type="text/javascript"
      src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
    </script>
<body>
<input type="text" id="text-box" value="" />
<button id="me">click</button>
<label id="len-val"></label>
<script>
$("#text-box").keydown(function(){

var lent = $(this).val().length;

var bosk = $("#len-val");

 bosk.append(lent);

});
</script>
</body>
</html>

4 个答案:

答案 0 :(得分:3)

使用.text()代替append()

bosk.text(lent);

DEMO

<强>更新

@Shin发表评论输入一些值,全选,按删除,不设为0

要解决此问题,您必须使用.keyup()

$("#text-box").keyup(function () {
    var lent = $(this).val().length;
    var bosk = $("#len-val");
    bosk.text(lent);
});

DEMO

答案 1 :(得分:2)

问题是您使用的是.append(),您需要使用.text()

使用

bosk.text(lent); //It will overwrite existing text

而不是

bosk.append(lent);

DEMO

答案 2 :(得分:1)

$("#text-box").keyup(function(){
 var lent = $(this).val().length;
 var bosk = $("#len-val");
 bosk.html(lent);
});

<强> FIDDLE DEMO

答案 3 :(得分:0)

使用text()html()代替append(),如下所示:

bosk.text(lent); // or bosk.html(lent);