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 相关文章推荐
JavaScript 继承详解(二)
Jul 13 Javascript
jquery tools 系列 scrollable(2)
Sep 06 Javascript
js验证是否为数字的总结
Apr 14 Javascript
jquery隐藏标签和显示标签的实例
Nov 11 Javascript
js判断为空Null与字符串为空简写方法
Feb 24 Javascript
jQuery绑定事件on()与弹窗的简要概述
Apr 27 Javascript
js实现炫酷的左右轮播图
Jan 18 Javascript
JS返回顶部实例代码
Aug 09 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
Mar 06 Javascript
使用Node搭建reactSSR服务端渲染架构
Aug 30 Javascript
微信小程序实现单选功能
Oct 30 Javascript
JS数组属性去重并校验重复数据
Jan 10 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
php 读取输出其他文件的实现方法
2016/07/26 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
单位委托书怎么写
2014/09/21 职场文书
先进典型事迹材料
2014/12/29 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
党员争先创优承诺书
2015/01/20 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
田径运动会广播稿
2015/08/19 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android