JQuery函数用于显示textarea / input中的剩余字符

时间:2011-11-11 22:51:07

标签: jquery asp.net-mvc-3

我正在编写一个JQuery来显示在textarea / input字段中输入时剩余字符的数量。但它似乎没有用,我对JQuery很新,所以我确信下面的简单内容是代码的副本:

$(":textarea[data-limit-input]").keyup(function () {
var charLength = $(this).val().length;
var charLimit = $(this).attr("data-val-length-max");
// Displays count
$(this).next("span").html(charLength + " of " + charLimit + " characters used");
// Alert when max is reached
if ($(this).val().length > charLimit)
    $(this).next("span").html("<strong>You may only have up to " + charLimit + " characters.   </strong>");
});

任何帮助将不胜感激

5 个答案:

答案 0 :(得分:2)

这对我有用:

http://jsfiddle.net/7Zvhq/

我更改了textarea选择器,将正确的数据值添加到charLimit并关闭了funktion和if语句。

EDIT 我更新了它,如果你试图在达到限制时进行输入并使其更漂亮,它将返回false:)

http://jsfiddle.net/7Zvhq/3/

答案 1 :(得分:1)

好像你错过了});在末尾?另外:textarea可以写成$(“textarea [data-limit-input]”),因为这是一个普通的CSS选择器。

否则我看不出有什么奇怪的。

答案 2 :(得分:0)

为textarea设置attr maxlength:http://www.w3schools.com/tags/att_input_maxlength.asp 每个keyup检查计数maxlength - textarea.val()。length

答案 3 :(得分:0)

数据限制输入是textarea的ID还是名称?

我试试

$('textarea#data-limit-input').keyup(handler);

$('textarea[name="data-limit-input"]').keyup(handler);

答案 4 :(得分:0)

您也可以在textarea中尝试使用此代码来保留字符输入。

代码是:

jQuery(document).ready(function(){
    var totalChars      = 200; 
    var countTextBox    = jQuery('#comment')
    var charsCountEl    = jQuery('#countchars');

    charsCountEl.text(totalChars);
    countTextBox.keyup(function() { 
        var thisChars = this.value.replace(/{.*}/g, '').length; 
        if(thisChars > totalChars) 
        {
            var CharsToDel = (thisChars-totalChars);
            this.value = this.value.substring(0,this.value.length-CharsToDel);
        }else{
            charsCountEl.text( totalChars - thisChars );
        }
    });
});

您还可以在此处查看演示。 http://jsfiddle.net/kishan_web/1k49s5vr/