使用Javascript计算和显示文本框中的字符数

Kay*_*Kay 17 javascript jquery textbox count

我正在开发一个项目,要求我计算在文本框中输入的字符数,并在页面的其他位置动态显示结果.

正如我所说,这最好是在jQuery或Javascript中完成.

提前致谢.

aur*_*ano 60

您可以在jQuery中执行此操作(因为您说您更喜欢它),假设您希望字符数显示在id ="characters"的div中:

$('textarea').keyup(updateCount);
$('textarea').keydown(updateCount);

function updateCount() {
    var cs = $(this).val().length;
    $('#characters').text(cs);
}
Run Code Online (Sandbox Code Playgroud)

更新:jsFiddle(由Dreami提供)

更新2:更新以包括长按的keydown.

  • 右键单击并粘贴时不会触发此操作.你可以使用`$('textarea').on('input',updateCount);` (6认同)
  • 也许你可以选择回答,谢谢 (2认同)
  • 一年后你帮帮我了!谢啦! (2认同)

Cly*_*obo 9

<script type="text/javascript">
function countChars(countfrom,displayto) {
  var len = document.getElementById(countfrom).value.length;
  document.getElementById(displayto).innerHTML = len;
}
</script>

<textarea id="data" cols="40" rows="5"
onkeyup="countChars('data','charcount');" onkeydown="countChars('data','charcount');" onmouseout="countChars('data','charcount');"></textarea><br>
<span id="charcount">0</span> characters entered.
Run Code Online (Sandbox Code Playgroud)

简单的Javascript.


stk*_*dia 7

这是我的偏好:

<textarea></textarea>         
<span id="characters" style="color:#999;">400</span> <span style="color:#999;">left</span>
Run Code Online (Sandbox Code Playgroud)

然后jquery阻止

$('textarea').keyup(updateCount);
$('textarea').keydown(updateCount);

function updateCount() {
var cs = [400- $(this).val().length];
$('#characters').text(cs);
}
Run Code Online (Sandbox Code Playgroud)

  • 右键单击并粘贴时不会触发此操作.你可以使用`$('textarea').on('input',updateCount);` (3认同)

Pra*_*nan 5

我想分享我在我的项目中使用的答案,它运行良好。

<asp:TextBox ID="txtComments" runat="server" TextMode="MultiLine" Rows="4" Columns="50" placeholder="Maximum limit: 100 characters"></asp:TextBox><br />
<span id="spnCharLeft"></span>

<script type='text/javascript'>
    $('#spnCharLeft').css('display', 'none');
    var maxLimit = 100;
    $(document).ready(function () {
        $('#<%= txtComments.ClientID %>').keyup(function () {
            var lengthCount = this.value.length;              
            if (lengthCount > maxLimit) {
                this.value = this.value.substring(0, maxLimit);
                var charactersLeft = maxLimit - lengthCount + 1;                   
            }
            else {                   
                var charactersLeft = maxLimit - lengthCount;                   
            }
            $('#spnCharLeft').css('display', 'block');
            $('#spnCharLeft').text(charactersLeft + ' Characters left');
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

来源:网址