jquery扩展

本文介绍了一种使用jQuery实现的文字输入长度限制功能,包括字符计数提示与超限警告;同时还提供了一种文本过长时的截断显示方法,保持良好的页面展示效果,并通过hover事件显示完整文本;此外还分享了全选表格中复选框及设置输入框默认值的实用技巧。
文字输入限制
 
所需的js文件:
 
$.fn.showLimit = function(length, target, locale) {
        var obj = $(this);
        var textLength = obj.val().length;
        if (locale == "cn" || locale == "CN") {
                var temp_str = obj.val().match(/[^\x00-\xff]/ig);
                textLength = obj.val().length
                                + (temp_str == null ? 0 : temp_str.length);
        }
        if (length >= textLength) {
                $(target).html("您还可以输入" + parseInt((length - textLength) / 2) + "个字。");
        } else {
                $(target).html(
                                "<font color=\"red\">超出" + Math.ceil((textLength - length) / 2)
                                                + "个字符!</font>");
        }
}
 
用法:
<input name="name" id="t1">
<span id="ss"></span>
 

$("#t1").showLimit(50,"#ss","cn");


字段过长,影响展示效果,需截取开头一段,后尾加省略号。

所需的js文件:

jquery.js

$.fn.shortcut = function(length) {
        var obj = $(this);
        obj.each(function() {
                var text = $(this).html();
                $(this).attr('title', text);
                if (text.length > length) {
                        text = text.substring(0, length) + "...";
                        $(this).html(text);
                }
        });
}
  • 使用方法:
  • $(".texts").shutcut(4);  表示所有class为"texts",文本长度大于4的,截取前4个字,后面"…"号补齐,同时hover事件可看到完整文本提示。


全选效果

所需的js文件:

/* 全选 */
function checkAll(obj) {
        if ($(obj).attr("checked") == true) {
                $(obj).closest("table").find("input:checkbox").each(function() {
                        $(this).attr("checked", true);
                });
        } else {
                $(obj).closest("table").find("input:checkbox").each(function() {
                        $(this).attr("checked", false);
                });
        }
}
用法:
<input type="checkbox" onclick="checkAll(this);"/>全选

默认值效果:

所需的js文件:
获得、失去焦点时处理默认值:
$.fn.showDefault = function(text) {
        var obj = $(this);
        obj.val(text);
        obj.focusout(function() {
                if (0 == $.trim($(obj).val()).length) {
                        $(obj).val(text);
                }
        });
        obj.focusin(function() {
                if ($.trim($(obj).val()) == text) {
                        $(obj).val("");
                }
        });
}
用法:
var text = "";
$("#c1").showDefault(text);

转载于:https://my.oschina.net/figoisxjs/blog/127490

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值