You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
243 lines
5.7 KiB
243 lines
5.7 KiB
/**
|
|
* jQuery EasyUI 1.3.6
|
|
*
|
|
* Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
|
|
*
|
|
* Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
|
|
* To use it on other terms please contact us at info@jeasyui.com
|
|
*
|
|
*/
|
|
(function($){
|
|
function _1(_2){
|
|
$(_2).addClass("numberbox numberbox-f");
|
|
var v=$("<input type=\"hidden\">").insertAfter(_2);
|
|
var _3=$(_2).attr("name");
|
|
if(_3){
|
|
v.attr("name",_3);
|
|
$(_2).removeAttr("name").attr("numberboxName",_3);
|
|
}
|
|
return v;
|
|
};
|
|
function _4(_5){
|
|
var _6=$.data(_5,"numberbox").options;
|
|
var fn=_6.onChange;
|
|
_6.onChange=function(){
|
|
};
|
|
_7(_5,_6.parser.call(_5,_6.value));
|
|
_6.onChange=fn;
|
|
_6.originalValue=_8(_5);
|
|
};
|
|
function _9(_a,_b){
|
|
var _c=$.data(_a,"numberbox").options;
|
|
if(_b){
|
|
_c.width=_b;
|
|
}
|
|
var t=$(_a);
|
|
var _d=$("<div style=\"display:none\"></div>").insertBefore(t);
|
|
t.appendTo("body");
|
|
if(isNaN(_c.width)){
|
|
_c.width=t.outerWidth();
|
|
}
|
|
t._outerWidth(_c.width)._outerHeight(_c.height);
|
|
t.css("line-height",t.height()+"px");
|
|
t.insertAfter(_d);
|
|
_d.remove();
|
|
};
|
|
function _8(_e){
|
|
return $.data(_e,"numberbox").field.val();
|
|
};
|
|
function _7(_f,_10){
|
|
var _11=$.data(_f,"numberbox");
|
|
var _12=_11.options;
|
|
var _13=_8(_f);
|
|
_10=_12.parser.call(_f,_10);
|
|
_12.value=_10;
|
|
_11.field.val(_10);
|
|
$(_f).val(_12.formatter.call(_f,_10));
|
|
if(_13!=_10){
|
|
_12.onChange.call(_f,_10,_13);
|
|
}
|
|
};
|
|
function _14(_15){
|
|
var _16=$.data(_15,"numberbox").options;
|
|
$(_15).unbind(".numberbox").bind("keypress.numberbox",function(e){
|
|
return _16.filter.call(_15,e);
|
|
}).bind("blur.numberbox",function(){
|
|
_7(_15,$(this).val());
|
|
$(this).val(_16.formatter.call(_15,_8(_15)));
|
|
}).bind("focus.numberbox",function(){
|
|
var vv=_8(_15);
|
|
if(vv!=_16.parser.call(_15,$(this).val())){
|
|
$(this).val(_16.formatter.call(_15,vv));
|
|
}
|
|
});
|
|
};
|
|
function _17(_18){
|
|
if($.fn.validatebox){
|
|
var _19=$.data(_18,"numberbox").options;
|
|
$(_18).validatebox(_19);
|
|
}
|
|
};
|
|
function _1a(_1b,_1c){
|
|
var _1d=$.data(_1b,"numberbox").options;
|
|
if(_1c){
|
|
_1d.disabled=true;
|
|
$(_1b).attr("disabled",true);
|
|
}else{
|
|
_1d.disabled=false;
|
|
$(_1b).removeAttr("disabled");
|
|
}
|
|
};
|
|
$.fn.numberbox=function(_1e,_1f){
|
|
if(typeof _1e=="string"){
|
|
var _20=$.fn.numberbox.methods[_1e];
|
|
if(_20){
|
|
return _20(this,_1f);
|
|
}else{
|
|
return this.validatebox(_1e,_1f);
|
|
}
|
|
}
|
|
_1e=_1e||{};
|
|
return this.each(function(){
|
|
var _21=$.data(this,"numberbox");
|
|
if(_21){
|
|
$.extend(_21.options,_1e);
|
|
}else{
|
|
_21=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_1e),field:_1(this)});
|
|
$(this).removeAttr("disabled");
|
|
$(this).css({imeMode:"disabled"});
|
|
}
|
|
_1a(this,_21.options.disabled);
|
|
_9(this);
|
|
_14(this);
|
|
_17(this);
|
|
_4(this);
|
|
});
|
|
};
|
|
$.fn.numberbox.methods={options:function(jq){
|
|
return $.data(jq[0],"numberbox").options;
|
|
},destroy:function(jq){
|
|
return jq.each(function(){
|
|
$.data(this,"numberbox").field.remove();
|
|
$(this).validatebox("destroy");
|
|
$(this).remove();
|
|
});
|
|
},resize:function(jq,_22){
|
|
return jq.each(function(){
|
|
_9(this,_22);
|
|
});
|
|
},disable:function(jq){
|
|
return jq.each(function(){
|
|
_1a(this,true);
|
|
});
|
|
},enable:function(jq){
|
|
return jq.each(function(){
|
|
_1a(this,false);
|
|
});
|
|
},fix:function(jq){
|
|
return jq.each(function(){
|
|
_7(this,$(this).val());
|
|
});
|
|
},setValue:function(jq,_23){
|
|
return jq.each(function(){
|
|
_7(this,_23);
|
|
});
|
|
},getValue:function(jq){
|
|
return _8(jq[0]);
|
|
},clear:function(jq){
|
|
return jq.each(function(){
|
|
var _24=$.data(this,"numberbox");
|
|
_24.field.val("");
|
|
$(this).val("");
|
|
});
|
|
},reset:function(jq){
|
|
return jq.each(function(){
|
|
var _25=$(this).numberbox("options");
|
|
$(this).numberbox("setValue",_25.originalValue);
|
|
});
|
|
}};
|
|
$.fn.numberbox.parseOptions=function(_26){
|
|
var t=$(_26);
|
|
return $.extend({},$.fn.validatebox.parseOptions(_26),$.parser.parseOptions(_26,["width","height","decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined),disabled:(t.attr("disabled")?true:undefined),value:(t.val()||undefined)});
|
|
};
|
|
$.fn.numberbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",height:22,disabled:false,value:"",min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){
|
|
var _27=$(this).numberbox("options");
|
|
if(e.which==45){
|
|
return ($(this).val().indexOf("-")==-1?true:false);
|
|
}
|
|
var c=String.fromCharCode(e.which);
|
|
if(c==_27.decimalSeparator){
|
|
return ($(this).val().indexOf(c)==-1?true:false);
|
|
}else{
|
|
if(c==_27.groupSeparator){
|
|
return true;
|
|
}else{
|
|
if((e.which>=48&&e.which<=57&&e.ctrlKey==false&&e.shiftKey==false)||e.which==0||e.which==8){
|
|
return true;
|
|
}else{
|
|
if(e.ctrlKey==true&&(e.which==99||e.which==118)){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},formatter:function(_28){
|
|
if(!_28){
|
|
return _28;
|
|
}
|
|
_28=_28+"";
|
|
var _29=$(this).numberbox("options");
|
|
var s1=_28,s2="";
|
|
var _2a=_28.indexOf(".");
|
|
if(_2a>=0){
|
|
s1=_28.substring(0,_2a);
|
|
s2=_28.substring(_2a+1,_28.length);
|
|
}
|
|
if(_29.groupSeparator){
|
|
var p=/(\d+)(\d{3})/;
|
|
while(p.test(s1)){
|
|
s1=s1.replace(p,"$1"+_29.groupSeparator+"$2");
|
|
}
|
|
}
|
|
if(s2){
|
|
return _29.prefix+s1+_29.decimalSeparator+s2+_29.suffix;
|
|
}else{
|
|
return _29.prefix+s1+_29.suffix;
|
|
}
|
|
},parser:function(s){
|
|
s=s+"";
|
|
var _2b=$(this).numberbox("options");
|
|
if(parseFloat(s)!=s){
|
|
if(_2b.prefix){
|
|
s=$.trim(s.replace(new RegExp("\\"+$.trim(_2b.prefix),"g"),""));
|
|
}
|
|
if(_2b.suffix){
|
|
s=$.trim(s.replace(new RegExp("\\"+$.trim(_2b.suffix),"g"),""));
|
|
}
|
|
if(_2b.groupSeparator){
|
|
s=$.trim(s.replace(new RegExp("\\"+_2b.groupSeparator,"g"),""));
|
|
}
|
|
if(_2b.decimalSeparator){
|
|
s=$.trim(s.replace(new RegExp("\\"+_2b.decimalSeparator,"g"),"."));
|
|
}
|
|
s=s.replace(/\s/g,"");
|
|
}
|
|
var val=parseFloat(s).toFixed(_2b.precision);
|
|
if(isNaN(val)){
|
|
val="";
|
|
}else{
|
|
if(typeof (_2b.min)=="number"&&val<_2b.min){
|
|
val=_2b.min.toFixed(_2b.precision);
|
|
}else{
|
|
if(typeof (_2b.max)=="number"&&val>_2b.max){
|
|
val=_2b.max.toFixed(_2b.precision);
|
|
}
|
|
}
|
|
}
|
|
return val;
|
|
},onChange:function(_2c,_2d){
|
|
}});
|
|
})(jQuery);
|
|
|
|
|