diff options
author | beatryder <ryan@neufeldmail.com> | 2011-06-13 20:42:45 -0500 |
---|---|---|
committer | gnarf <gnarf@gnarf.net> | 2011-06-13 20:42:45 -0500 |
commit | b0182d78229058fdf61d5f9c3b8a66617d056f30 (patch) | |
tree | 7078a54296bb694b8fb6a81b6eadd9fb4ef82264 /ui/jquery.ui.spinner.js | |
parent | e549e18fc2f658fe15c53c1df84847c00e87c9de (diff) | |
download | jquery-ui-b0182d78229058fdf61d5f9c3b8a66617d056f30.tar.gz jquery-ui-b0182d78229058fdf61d5f9c3b8a66617d056f30.zip |
Spinner: modified _spin and _setOption to call new method _trimValue to check for min/max values. Fixed #7264 - Spinner returns values beyond min and max, off by one
Diffstat (limited to 'ui/jquery.ui.spinner.js')
-rw-r--r-- | ui/jquery.ui.spinner.js | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/ui/jquery.ui.spinner.js b/ui/jquery.ui.spinner.js index b4cefc982..951b336ed 100644 --- a/ui/jquery.ui.spinner.js +++ b/ui/jquery.ui.spinner.js @@ -258,12 +258,29 @@ $.widget( "ui.spinner", { : 2 : 1); + // clamp the new value + newVal = this._trimValue( newVal ); + if ( this._trigger( "spin", event, { value: newVal } ) !== false) { this.value( newVal ); this.counter++; } }, + _trimValue: function( value ) { + var options = this.options; + + if ( value > options.max) { + return options.max; + } + + if ( value < options.min ) { + return options.min; + } + + return value; + }, + _stop: function( event ) { this.counter = 0; if ( this.timer ) { @@ -280,13 +297,7 @@ $.widget( "ui.spinner", { _setOption: function( key, value ) { if ( key === "value") { - value = this._parse( value ); - if ( value < this.options.min ) { - value = this.options.min; - } - if ( value > this.options.max ) { - value = this.options.max; - } + value = this._trimValue( this._parse(value) ); } if ( key === "disabled" ) { |