Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript字符计数器帮助_Javascript_Jquery_Variables - Fatal编程技术网

Javascript字符计数器帮助

Javascript字符计数器帮助,javascript,jquery,variables,Javascript,Jquery,Variables,我有一些代码,我用它来计算输入/文本区域中的字符数,并在我的页面上显示倒计时。我的问题是,我希望能够定义我希望计数器显示在哪个div中 我怎样才能在代码中添加一个变量来定义我希望计数器出现在哪个div中 帮助我天才 (function($) { $.fn.charCount = function(options){ // default configuration properties var defaults = {

我有一些代码,我用它来计算输入/文本区域中的字符数,并在我的页面上显示倒计时。我的问题是,我希望能够定义我希望计数器显示在哪个div中

我怎样才能在代码中添加一个变量来定义我希望计数器出现在哪个div中

帮助我天才

(function($) {

    $.fn.charCount = function(options){

        // default configuration properties
        var defaults = {    
            allowed: 150,       
            warning: 25,
            css: 'counter',
            counterElement: 'span',
            cssWarning: 'warning',
            cssExceeded: 'exceeded',
            counterText: ''
        }; 

        var options = $.extend(defaults, options); 

        function calculate(obj){
            var count = $(obj).val().length;
            var available = options.allowed - count;
            if(available <= options.warning && available >= 0){
                $(obj).next().addClass(options.cssWarning);
            } else {
                $(obj).next().removeClass(options.cssWarning);
            }
            if(available < 0){
                $(obj).next().addClass(options.cssExceeded);
            } else {
                $(obj).next().removeClass(options.cssExceeded);
            }
            $(obj).next().html(options.counterText + available);
        };

        this.each(function() {              
            $(this).after('<'+ options.counterElement +' class="' + options.css + '">'+ options.counterText +'</'+ options.counterElement +'>');
            calculate(this);
            $(this).keyup(function(){calculate(this)});
            $(this).change(function(){calculate(this)});
        });

    };

})(jQuery);
(函数($){
$.fn.charCount=函数(选项){
//默认配置属性
变量默认值={
容许人数:150,
警告:25,
css:'计数器',
反元素:“span”,
csswering:'警告',
cssExceeded:'超过',
计数器文本:“”
}; 
var options=$.extend(默认值,选项);
函数计算(obj){
变量计数=$(obj).val().length;
var available=options.allowed-count;
如果(可用=0){
$(obj).next().addClass(options.csswaring);
}否则{
$(obj).next().removeClass(options.csswaring);
}
如果可用(小于0){
$(obj).next().addClass(options.cssExceeded);
}否则{
$(obj).next().removeClass(options.cssExceeded);
}
$(obj).next().html(options.counterText+可用);
};
此.each(function(){
$(this).after(“”+options.counterText+“”);
计算(这个);
$(this).keyup(function(){calculate(this)});
$(this).change(函数(){calculate(this)});
});
};
})(jQuery);

mayby特殊的jquery插件可以帮助您减少代码,因为它们会自动计算字符数:


mayby特殊的jquery插件可以帮助您减少代码,因为它们会自动计算字符数:


试试这个。真正有用的只是针对单个输入元素调用它。不同的输入需要传入不同的容器

用法:

  // Pass in a selector string for the container
$('input').charCount({container:'#container'});
插件:

(function($) {
    $.fn.charCount = function(options){
        // default configuration properties
        var defaults = {    
            allowed: 150,       
            warning: 25,
            css: 'counter',
            counterElement: 'span',
            cssWarning: 'warning',
            cssExceeded: 'exceeded',
            counterText: '',
            container: undefined // New option, accepts a selector string
        }; 

        var options = $.extend(defaults, options); 

        function calculate(obj,$cont) {
              // $cont is the container, now passed in instead.
            var count = $(obj).val().length;
            var available = options.allowed - count;
            if(available <= options.warning && available >= 0){
                $cont.addClass(options.cssWarning);
            } else {
                $cont.removeClass(options.cssWarning);
            }
            if(available < 0){
                $cont.addClass(options.cssExceeded);
            } else {
                $cont.removeClass(options.cssExceeded);
            }
            $cont.html(options.counterText + available);
        };

        this.each(function() {
         // $container is the passed selector, or create the default container
            var $container = (options.container)
                    ? $(options.container)
                        .text(options.counterText)
                        .addClass(options.css)
                    : $('<'+ options.counterElement +' class="' + options.css + '">'+ options.counterText +'</'+ options.counterElement +'>').insertAfter(this);
            calculate(this,$container);
            $(this).keyup(function(){calculate(this,$container)});
            $(this).change(function(){calculate(this,$container)});
        });

    };
})(jQuery);
(函数($){
$.fn.charCount=函数(选项){
//默认配置属性
变量默认值={
容许人数:150,
警告:25,
css:'计数器',
反元素:“span”,
csswering:'警告',
cssExceeded:'超过',
计数器文本:“”,
容器:未定义//新选项,接受选择器字符串
}; 
var options=$.extend(默认值,选项);
函数计算(obj,$cont){
//$cont是容器,现在改为传入。
变量计数=$(obj).val().length;
var available=options.allowed-count;
如果(可用=0){
$cont.addClass(选项CSSwarming);
}否则{
$cont.removeClass(options.csswarming);
}
如果可用(小于0){
$cont.addClass(options.cssexceed);
}否则{
$cont.removeClass(options.cssexceed);
}
$cont.html(options.counterText+可用);
};
这个。每个(函数(){
//$container是传递的选择器,或创建默认容器
var$container=(options.container)
?$(选项.容器)
.text(选项.counterText)
.addClass(options.css)
:$(''+选项.计数器文本+'')。在(此)之后插入;
计算(这个$container);
$(this).keyup(函数(){calculate(this$container)});
$(this).change(函数(){calculate(this$container)});
});
};
})(jQuery);

试试这个。真正有用的只是针对单个输入元素调用它。不同的输入需要传入不同的容器

用法:

  // Pass in a selector string for the container
$('input').charCount({container:'#container'});
插件:

(function($) {
    $.fn.charCount = function(options){
        // default configuration properties
        var defaults = {    
            allowed: 150,       
            warning: 25,
            css: 'counter',
            counterElement: 'span',
            cssWarning: 'warning',
            cssExceeded: 'exceeded',
            counterText: '',
            container: undefined // New option, accepts a selector string
        }; 

        var options = $.extend(defaults, options); 

        function calculate(obj,$cont) {
              // $cont is the container, now passed in instead.
            var count = $(obj).val().length;
            var available = options.allowed - count;
            if(available <= options.warning && available >= 0){
                $cont.addClass(options.cssWarning);
            } else {
                $cont.removeClass(options.cssWarning);
            }
            if(available < 0){
                $cont.addClass(options.cssExceeded);
            } else {
                $cont.removeClass(options.cssExceeded);
            }
            $cont.html(options.counterText + available);
        };

        this.each(function() {
         // $container is the passed selector, or create the default container
            var $container = (options.container)
                    ? $(options.container)
                        .text(options.counterText)
                        .addClass(options.css)
                    : $('<'+ options.counterElement +' class="' + options.css + '">'+ options.counterText +'</'+ options.counterElement +'>').insertAfter(this);
            calculate(this,$container);
            $(this).keyup(function(){calculate(this,$container)});
            $(this).change(function(){calculate(this,$container)});
        });

    };
})(jQuery);
(函数($){
$.fn.charCount=函数(选项){
//默认配置属性
变量默认值={
容许人数:150,
警告:25,
css:'计数器',
反元素:“span”,
csswering:'警告',
cssExceeded:'超过',
计数器文本:“”,
容器:未定义//新选项,接受选择器字符串
}; 
var options=$.extend(默认值,选项);
函数计算(obj,$cont){
//$cont是容器,现在改为传入。
变量计数=$(obj).val().length;
var available=options.allowed-count;
如果(可用=0){
$cont.addClass(选项CSSwarming);
}否则{
$cont.removeClass(options.csswarming);
}
如果可用(小于0){
$cont.addClass(options.cssexceed);
}否则{
$cont.removeClass(options.cssexceed);
}
$cont.html(options.counterText+可用);
};
这个。每个(函数(){
//$container是传递的选择器,或创建默认容器
var$container=(options.container)
?$(选项.容器)
.text(选项.counterText)
.addClass(options.css)
:$(''+选项.计数器文本+'')。在(此)之后插入;
计算(这个$container);
$(this).keyup(函数(){calculate(this$container)});
$(this).change(函数(){calculate(this$container)});
});
};
})(jQuery);