123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- /**
- * 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);
|