jQuery扩展实现text提示还能输入多少字节的方法


Posted in Javascript onNovember 28, 2016

本文实例讲述了jQuery扩展实现text提示还能输入多少字节的方法。分享给大家供大家参考,具体如下:

1.添加jQuery自定义扩展

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

获取字节数函数

var lenFor = function(str){
var byteLen=0,len=str.length;

if(str){


for(var i=0; i<len; i++){



if(str.charCodeAt(i)>255){




byteLen += 3;



}



else{




byteLen++;



}


}


return byteLen;

}

else{


return 0;

}
}

2.实例化

<script type="text/javascript">
// demo
$(function($){
  // 批量
  $('.autoTxtCount').each(function(){
    $(this).find('.text1').artTxtCount($(this).find('.tips'), 108);
  });
});
</script>

3.相应的html结构

<div class="form-group">
  <div class="col-sm-9">
    <label class="col-sm-1 control-label" for="form-field-1"> 内容: </label>
  </div>
</div>
<div style="padding-left:100px;" id="autoTxtCount" class="autoTxtCount form-group">
  <div >
    <textarea class="text1" name="content" cols="50" rows="3"><!--{$aData.content}--></textarea>
  </div>
  <div>
    <span class="tips"></span> 
  </div>
</div>

4.一些样式

#autoTxtCount { width:500px; }
#autoTxtCount .help, #autoTxtCount .help a { color:#999; }
#autoTxtCount .tips { color:#999; padding:0 5px; }
#autoTxtCount .tips strong { color:#1E9300; }
#autoTxtCount .tips .js_txtFull strong { color:#F00; }
#autoTxtCount textarea.text1 { width:474px; }

效果如下:

jQuery扩展实现text提示还能输入多少字节的方法

jQuery扩展实现text提示还能输入多少字节的方法

更多关于jQuery相关内容可查看本站专题:《jQuery扩展技巧总结》、《jQuery字符串操作技巧总结》、《jQuery操作xml技巧总结》、《jQuery常见经典特效汇总》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
js实现的仿新浪微博完美的时间组件升级版
Dec 20 Javascript
js识别不同浏览器基于userAgent做判断
Jul 29 Javascript
JavaScript判断是否为数字的4种方法及效率比较
Apr 01 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
Jul 27 Javascript
实例详解JavaScript获取链接参数的方法
Jan 01 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
jQuery简单实现列表隐藏和显示效果示例
Sep 12 Javascript
JavaScript中的高级函数
Jan 04 Javascript
图文介绍Vue父组件向子组件传值
Feb 17 Javascript
在vscode里使用.vue代码模板的方法
Apr 28 Javascript
boostrap模态框二次弹出清空原有内容的方法
Aug 10 Javascript
Vue 用Vant实现时间选择器的示例代码
Oct 25 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 #Javascript
ReactJs快速入门教程(精华版)
Nov 28 #Javascript
js窗口震动小程序分享
Nov 28 #Javascript
JS获取年月日时分秒的方法分析
Nov 28 #Javascript
js中string和number类型互转换技巧(分享)
Nov 28 #Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
Nov 28 #Javascript
基于JavaScript实现右键菜单和拖拽功能
Nov 28 #Javascript
You might like
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
python解析json实例方法
2013/11/19 Python
Python实现全局变量的两个解决方法
2014/07/03 Python
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python中的random()方法的使用介绍
2015/05/15 Python
Django中使用Celery的教程详解
2018/08/24 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
python开发入门——列表生成式
2020/09/03 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
制冷与电控专业应届生求职信
2013/11/11 职场文书
财务负责人任命书
2014/06/06 职场文书
违反交通法规检讨书
2014/09/10 职场文书
实习报告怎么写
2019/06/20 职场文书