/** * jQuery counter plugin * * * @name jquery-counter-1.0.js * @author Rocco Wernicke - http://r-wernicke.de * @version 1.0 * @date November 02, 2014 * @category jQuery plugin * @copyright (c) 2014 Rocco Wernicke */ // Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias (function ($) { /** * $ is an alias to jQuery object **/ $.fn.counter = function (options) { var settings = $.extend({ max: 80, name: 'sTest', color: 'red', errMsg: '' }, options); var input = $('input[name="' + settings.name + '"]'); var spanErr = $('').appendTo($(this)); var spanCounter = $('').appendTo($(this)); spanErr.css("color", settings.color); spanErr.hide().text(settings.errMsg = 'Es sind max: ' + settings.max + ' Zeichen erlaubt.'); input.focus(function () { input.keyup(function () { spanCounter.text(input.val().length); if(input.val().length > settings.max) { spanErr.show(); spanCounter.hide(); } if(input.val().length <= settings.max) { spanCounter.show().text(input.val().length); spanErr.hide(); } if(input.val() == "") { spanCounter.hide(); spanErr.hide(); } }); }); input.focusout(function() { spanCounter.remove(); spanErr.remove(); }); } })(jQuery);