-1

在我的项目中有一个名为“主题”的 jQuery Mobile 文本区域在一页上

我有这个脚本用来计算在 textarea 中输入的字符,但是这个脚本只是在第一次击键时给了我一个结果。另一个没有。

$(document).delegate("#topicDialog", "pageinit", function() {
$("#topic").keyup(function(e) {
        var tam = $(this).length;

        if (tam <= 61700){
            $("#maxCarac").html(tam +" typed characters. The maximum allowed is 61700");
        } else {
            alert("You have reached the maximum text size.\nPlease break your text into more than one topic.");
            $("#topic").val($("#topic").substring(61700));
        }
    });
});

行动中的例子

会发生什么?

4

3 回答 3

2

你需要使用 val().length

在此处检查更新小提琴

$("#topic").keyup(function(e) {
        var tam = parseInt($(this).val().length);

        if (tam <= 61700){
            $("#maxCarac").html(tam +" typed characters. The maximum allowed is 61700");
        } else {
            alert("You have reached the maximum text size.\nPlease break your text into more than one topic.");
            $("#topic").val($("#topic").substring(61700));
        }
    });

http://jsfiddle.net/manishkumarshr/zdEzk/1/

于 2013-08-14T12:29:16.973 回答
0

您正在错误地检索用户输入的长度。用这个:

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

这是一个工作演示

于 2013-08-14T12:28:35.733 回答
0

这条线需要改变

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

演示

于 2013-08-14T12:31:05.277 回答