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語、1つが100語、1つが60語などです。ここの誰かが、この変更を行うのを手伝ってくれますか?

注:私はこの関数を次のように使用します。$("textarea").textareaCounter();

4

2 に答える 2

1

次のように使用します。

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

あなたがしなければならないのは、特定のテキストエリアフィールドに対して異なる設定を設定することだけです。

したがって、これは非常に一般的なソリューションです。

$("textarea").textareaCounter();

すべてのテキストボックスにデフォルトを使用するように指示します。ID(またはクラス)を使用して、特定のテキスト領域にさまざまな設定を設定できます

my100limittextarea次の例では、ページ上に2つのテキストエリアがあり、一方が他方のIDであると想定しています。my150limittextarea

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