轻量级输入字数提示jQuery插件

本文介绍了一个轻量级的输入字数提示插件artTxtCount,并提供了详细的使用示例代码,展示了如何设置最大输入字符数及实时更新字数提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


(function($){
        // tipWrap:         提示消息的容器
        // maxNumber:         最大输入字符
        $.fn.artTxtCount = function(tipWrap, maxNumber){
                var countClass = 'js_txtCount',                // 定义内部容器的CSS类名
                        fullClass = 'js_txtFull',                // 定义超出字符的CSS类名
                        disabledClass = 'disabled';                // 定义不可用提交按钮CSS类名
                
                // 统计字数
                var count = function(){
                        var btn = $(this).closest('form').find(':submit'),
                                val = $(this).val().length,
                                
                                // 是否禁用提交按钮
                                disabled = {
                                        on: function(){
                                                btn.removeAttr('disabled').removeClass(disabledClass);
                                        },
                                        off: function(){
                                                btn.attr('disabled', 'disabled').addClass(disabledClass);
                                        }
                                };
                                
                        if (val == 0) disabled.off();
                        if(val <= maxNumber){
                                if (val > 0) disabled.on();
                                tipWrap.html('<span class="' + countClass + '">\u8FD8\u80FD\u8F93\u5165 <strong>' + (maxNumber - val) + '</strong> \u4E2A\u5B57</span>');
                        }else{
                                disabled.off();
                                tipWrap.html('<span class="' + countClass + ' ' + fullClass + '">\u5DF2\u7ECF\u8D85\u51FA <strong>' + (val - maxNumber) + '</strong> \u4E2A\u5B57</span>');
                        };
                };
                $(this).bind('keyup change', count);
                
                return this;
        };
})(jQuery);

一下是DEMO

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>artTxtCount demo</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
/* tangbin - http://www.planeArt.cn - MIT Licensed */
(function($){
// tipWrap: 提示消息的容器
// maxNumber: 最大输入字符
$.fn.artTxtCount = function(tipWrap, maxNumber){
var countClass = 'js_txtCount',// 定义内部容器的CSS类名
fullClass = 'js_txtFull',// 定义超出字符的CSS类名
disabledClass = 'disabled';// 定义不可用提交按钮CSS类名

// 统计字数
var count = function(){
var btn = $(this).closest('form').find(':submit'),
val = $(this).val().length,

// 是否禁用提交按钮
disabled = {
on: function(){
btn.removeAttr('disabled').removeClass(disabledClass);
},
off: function(){
btn.attr('disabled', 'disabled').addClass(disabledClass);
}
};

if (val == 0) disabled.off();
if(val <= maxNumber){
if (val > 0) disabled.on();
tipWrap.html('<span class="' + countClass + '">\u8FD8\u80FD\u8F93\u5165 <strong>' + (maxNumber - val) + '</strong> \u4E2A\u5B57</span>');
}else{
disabled.off();
tipWrap.html('<span class="' + countClass + ' ' + fullClass + '">\u5DF2\u7ECF\u8D85\u51FA <strong>' + (val - maxNumber) + '</strong> \u4E2A\u5B57</span>');
};
};
$(this).bind('keyup change', count);

return this;
};
})(jQuery);
</script>


<script type="text/javascript">
// demo
jQuery(function(){

// 批量
$('.autoTxtCount').each(function(){
$(this).find('.text').artTxtCount($(this).find('.tips'), 140);
});

// 单个
$('#test').artTxtCount($('#test_tips'), 10);

});
</script>
<style>
/* demo */
body { font-size:75%; font-family:'微软雅黑'; }
#demo { width:500px; }
#demo .help, #demo .help a { color:#999; }
#demo form { margin:20px 0; padding:8px; background:#F4F4F4; border:1px solid #EDEDED; }
#demo .tips { color:#999; padding:0 5px; }
#demo .tips strong { color:#1E9300; }
#demo .tips .js_txtFull strong { color:#F00; }
#demo textarea.text { width:474px; }
</style>
</head>


<body>
<div id="demo">
  <h1>artTxtCount - 轻量级输入字数提示插</h1>
  <p class="help">$('#text').artTxtCount($('#text_tips'), 10);</p>
  <p class="help">by tangbin. <a href="http://www.planeArt.cn" target="_blank" title="planeArt">www.planeArt.cn</a></p>
  <form class="autoTxtCount" action="" method="get">
    <div>
      <textarea class="text" name="" cols="50" rows="3"></textarea>
    </div>
    <div>
      <button type="submit">提交</button>
      <span class="tips"></span> </div>
  </form>
  <form class="autoTxtCount" action="" method="get">
    <div>
      <textarea class="text" name="" cols="50" rows="3"></textarea>
    </div>
    <div>
      <button type="submit">提交</button>
      <span class="tips"></span> </div>
  </form>
  <form action="" method="get">
    <input class="text" id="test" name="" type="text" />
    <span id="test_tips" class="tips"></span><br />
    <button type="submit">提交</button>
  </form>
</div>
</body>
</html>


DEMO代码保存即可运行

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值