jquery.spinner.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**
  2. * jQuery EasyUI 1.4.4
  3. *
  4. * Copyright (c) 2009-2015 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
  7. * To use it on other terms please contact us: info@jeasyui.com
  8. *
  9. */
  10. (function($){
  11. function _1(_2){
  12. var _3=$.data(_2,"spinner");
  13. var _4=_3.options;
  14. var _5=$.extend(true,[],_4.icons);
  15. _5.push({iconCls:"spinner-arrow",handler:function(e){
  16. _6(e);
  17. }});
  18. $(_2).addClass("spinner-f").textbox($.extend({},_4,{icons:_5}));
  19. var _7=$(_2).textbox("getIcon",_5.length-1);
  20. _7.append("<a href=\"javascript:void(0)\" class=\"spinner-arrow-up\" tabindex=\"-1\"></a>");
  21. _7.append("<a href=\"javascript:void(0)\" class=\"spinner-arrow-down\" tabindex=\"-1\"></a>");
  22. $(_2).attr("spinnerName",$(_2).attr("textboxName"));
  23. _3.spinner=$(_2).next();
  24. _3.spinner.addClass("spinner");
  25. };
  26. function _6(e){
  27. var _8=e.data.target;
  28. var _9=$(_8).spinner("options");
  29. var up=$(e.target).closest("a.spinner-arrow-up");
  30. if(up.length){
  31. _9.spin.call(_8,false);
  32. _9.onSpinUp.call(_8);
  33. $(_8).spinner("validate");
  34. }
  35. var _a=$(e.target).closest("a.spinner-arrow-down");
  36. if(_a.length){
  37. _9.spin.call(_8,true);
  38. _9.onSpinDown.call(_8);
  39. $(_8).spinner("validate");
  40. }
  41. };
  42. $.fn.spinner=function(_b,_c){
  43. if(typeof _b=="string"){
  44. var _d=$.fn.spinner.methods[_b];
  45. if(_d){
  46. return _d(this,_c);
  47. }else{
  48. return this.textbox(_b,_c);
  49. }
  50. }
  51. _b=_b||{};
  52. return this.each(function(){
  53. var _e=$.data(this,"spinner");
  54. if(_e){
  55. $.extend(_e.options,_b);
  56. }else{
  57. _e=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_b)});
  58. }
  59. _1(this);
  60. });
  61. };
  62. $.fn.spinner.methods={options:function(jq){
  63. var _f=jq.textbox("options");
  64. return $.extend($.data(jq[0],"spinner").options,{width:_f.width,value:_f.value,originalValue:_f.originalValue,disabled:_f.disabled,readonly:_f.readonly});
  65. }};
  66. $.fn.spinner.parseOptions=function(_10){
  67. return $.extend({},$.fn.textbox.parseOptions(_10),$.parser.parseOptions(_10,["min","max",{increment:"number"}]));
  68. };
  69. $.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spin:function(_11){
  70. },onSpinUp:function(){
  71. },onSpinDown:function(){
  72. }});
  73. })(jQuery);