(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
中输入的单词。目前它为我工作。使用这个脚本,我可以计算我的表单中所有textareas中的单词,限制为150个单词。
但我需要将此功能应用于textarea来计算具有不同限制条件的单词。这意味着1个textarea有150个单词,一个有100个单词,一个有60个单词等...这里有人可以帮我做这个修改吗?
注意:我使用这个函数是这样的...... $("textarea").textareaCounter();
答案 0 :(得分:1)
像这样使用:
$("#textarea-id").textareaCounter({
limit:100 // world limit here
});
答案 1 :(得分:1)
您需要做的就是为特定的textarea字段设置不同的设置。
所以这是一个非常通用的解决方案:
$("textarea").textareaCounter();
它告诉每个文本框使用默认值。您可以使用id(或类)为特定textareas设置不同的设置
在下面的示例中,它假设页面上有2个textareas,其中id为my100limittextarea
,另一个my150limittextarea
$("#my100limittextarea").textareaCounter({limit:100});
$("#my150limittextarea").textareaCounter({limit:150});