我想减少用户输入时给定文本区域的字符数。
我用下面的代码

var txtArea = $('<textarea class="txtStyle"></textarea>').appendTo('.txtArea');
            var rem_txt = 500;
            var text = "Characters remaining";
            $('.txtStyle').keyup(function () {
                debugger;
                var txt_txtarea = $(this).val().length;
                rem_txt = rem_txt - txt_txtarea;
            });
                $('<div id="rem">' + text + '=' + rem_txt + ' </div>').appendTo('.txtArea');


但是div不会更新count的值。请帮助DEMO HERE

最佳答案

您不是在更新处理程序内部的html,而是在重新计算剩余金额,而不是在更新UI。

如果您在事件处理程序中更新内部文本,则会看到其余文本:

http://jsfiddle.net/5Lszd/4/

var lengthAllowed = 500,
txtArea = $('<textarea class="txtStyle"></textarea><div id="rem">Characters remaining ' + lengthAllowed + '</div>').appendTo('.txtArea');
$('.txtStyle').keyup(function () {
    var charsSoFar = $(this).val().length,
    remaining = lengthAllowed - charsSoFar;
    $('#rem').text('Characters remaining='+remaining);
});


但是,达到最大文本数时您尚未处理。

关于javascript - 如何减少字符数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20542557/

10-11 16:15