js实现numberbox功能

为了解决edatagrid源码问题和页面卡死,本文档介绍了如何使用JavaScript实现简单的NumberBox功能。当输入框中输入数值时,限制只能输入数字、最多保留小数点后两位,且总长度不超过8位。同时,当失去焦点时,会自动解除事件绑定以防止重复调用。
摘要由CSDN通过智能技术生成

edatagrid有诸多源码级问题,使用datagrid去模仿,有时候加载控件过多会导致页面卡死。所以自己实现然后在输入框中再调用。

//数量和价格输入框的控制
var quantityOrPriceEdit = function(index,field,value){
var ed = $CommonUI.getDataGrid('#drugInTable').datagrid('getEditor', {index:index,field:''+field+''});
$(ed.target).keyup(function(){
//简单实现numberbox功能
  if(this.value.indexOf(".")==this.value.lastIndexOf(".")){
  $(ed.target).val($(ed.target).val().replace(/[^\d.]/g,''));
  if(this.value.indexOf(".")!=-1){
  this.value = this.value.substr(0, this.value.indexOf(".")+3);  //小数点后两位
  }
  }else{
  this.value = this.value.substr(0, this.value.length - 1);
}
  this.value = this.value.substr(0, 8);//长度8位
  quantityChanged();
});
// 当焦点失去时,注销绑定事件(避免绑定多次造成多次调用函数),移除焦点(不移除焦点再次输入时,已经没有绑定keyup事件)
$(ed.target).focusout(function(){
$(this).unbind();//移除绑定事件
$(this).blur();//丢失焦点以后移除焦点
});
};



(function (jQuery) {

    $(this).css("ime-mode", "disabled");
    jQuery.fn.spif_numberbox = function(paraments){
        $(this).css("ime-mode", "disabled");
        this.bind("keypress",function(e) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值