0
(function($){
    $.fn.textareaCounter = function(options) {
        // setting the defaults
        // $("textarea").textareaCounter({ limit: 100 });
        var defaults = {
            limit: 150
        };  
        var options = $.extend(defaults, options);

        // and the plugin begins
        return this.each(function() {
            var obj, text, wordcount, limited;

            obj = $(this);
            obj.next(".hint").after('<span style="font-size: 11px; font-weight: bold; color:#6a6a6a; clear: both; margin: 3px 0 0 150px; float: left; overflow: hidden;" id="counter-text">Max. '+options.limit+' words</span>');

            obj.on("keyup keydown", function() {
                text = obj.val();
                if(text === "") {
                    wordcount = 0;
                } else {
                    wordcount = obj.val().split(" ").length;
                }
                if(wordcount == options.limit) {
                    obj.next(".hint").next("#counter-text").html('<span style="color: #DD0000;">0 words left</span>');
                    limited = $.trim(text).split(" ", options.limit);
                    limited = limited.join(" ");
                    $(this).val(limited);
                } else {
                    obj.next(".hint").next("#counter-text").html((options.limit - wordcount)+' words left');
                } 
            });
        });
    };
})(jQuery);

我使用上面的 jQuery 函数来计算在textarea. 目前它为我工作。使用这个脚本,我可以计算表单中所有文本区域中的单词,限制为 150 个单词。

但我需要将此功能应用于 textarea 以计算具有不同限制条件的单词。这意味着 1 个文本区域有 150 个单词,一个有 100 个单词,一个有 60 个单词等等......这里有人可以帮我做这个修改吗?

注意:我使用这个功能是这样的..$("textarea").textareaCounter();

4

2 回答 2

1

像这样使用它:

$("#textarea-id").textareaCounter({
     limit:100 // world limit here
});
于 2013-01-07T11:35:24.877 回答
1

您所要做的就是为特定的 textarea 字段设置不同的设置。

所以这是一个非常通用的解决方案:

$("textarea").textareaCounter();

它告诉每个文本框使用默认值。您可以使用 id(或类)为特定的文本区域设置不同的设置

在下面的示例中,它假定页面上的 2 个文本区域具有另一个my100limittextareaidmy150limittextarea

$("#my100limittextarea").textareaCounter({limit:100});
$("#my150limittextarea").textareaCounter({limit:150});
于 2013-01-07T11:36:46.567 回答