🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

A Number-Spinner based-on jQuery, Support Keyboard operations and continuous changing.

Forms Plugins

Documentation

jQuery Spinner

License Build Status devDependency Status

A Number-Spinner based-on jQuery, Support Keyboard operations and continuous changing.

Basic usage, it's very simple

<!-- // ref javascript file --> <script src="dist/js/jquery.spinner.js"></script>  <!-- // spinner plugin DOM --> <div data-trigger="spinner">   <button type="button" data-spin="up">+</button>   <input type="text" value="1" data-ruler="quantity">   <button type="button" data-spin="down">-</button> </div>

Getting Started

Download the production version or the development version.

In your web page:

<script src="jquery.js"></script> <script src="dist/js/jquery.spinner.js"></script> <script> $("#spinner")   .spinner('delay', 200) //delay in ms   .spinner('changed', function(e, newVal, oldVal) {     // trigger lazed, depend on delay option.   })   .spinner('changing', function(e, newVal, oldVal) {     // trigger immediately   }); </script>  <div data-trigger="spinner" id="spinner">   <button type="button" data-spin="up">+</button>   <input type="text" value="1" data-ruler="quantity">   <button type="button" data-spin="down">-</button> </div>

Documentation

Spinner options

delay

delay to fire changed event in millisecond, default is 500.

changed

changed event handler, the changed event is a lazy-mode event, default is null.

changing

changing event handler, the changing event will be fired immediately, default is null.

Spinning Options(setup via data-api)

min

the minimum value, default is null.

max

the maximum value, default is null.

step

the changing-value of per-step, if passed as a function, the function will be called within the spinner object scope.

precision

the precision of value

Built-in rules

  currency: { min: 0.00, max: null, step: 0.01, precision: 2 },   quantity: { min: 1, max: 999, step: 1, precision:0 },   percent:  { min: 1, max: 100, step: 1, precision:0 },   month:    { min: 1, max: 12, step: 1, precision:0 },   day:      { min: 1, max: 31, step: 1, precision:0 },   hour:     { min: 0, max: 23, step: 1, precision:0 },   minute:   { min: 1, max: 59, step: 1, precision:0 },   second:   { min: 1, max: 59, step: 1, precision:0 }

Usage:

<input type="text" value="1" data-rule="quantity">

Examples

Work with Bootstrap 3 and Font Awesome 4

<link href="dist/css/bootstrap-spinner.css" rel="stylesheet">  <div class="input-group spinner" data-trigger="spinner">   <input type="text" class="form-control text-center" value="1" data-rule="quantity">   <span class="input-group-addon">     <a href="javascript:;" class="spin-up" data-spin="up"><i class="fa fa-caret-up"></i></a>     <a href="javascript:;" class="spin-down" data-spin="down"><i class="fa fa-caret-down"></i></a>   </span> </div>

Customize

specify a field

<div data-trigger="spinner">   <input type="text" value="0" title="this field isn't a spinning.">   <input type="text" value="1" data-spin="spinner" data-rule="quantity" data-max="10"> </div>

Use hidden field

<div data-trigger="spinner" id="spinner">   <span id="spinner-value"></span>   <input type="hidden" value="1" data-spin="spinner" data-rule="quantity" data-max="10">   <a href="javascript:;" data-spin="down">-</a>   <a href="javascript:;" data-spin="up">+</a> </div>  <script>   $("#spinner").spinner('changing', function(e, newVal, oldVal) {     $('#spinner-value').html(newVal);   }); </script>

pass step options as a function

// To skip 0 $("#spinner").spinner({   step: function(dir) {     // 'this' references to the spinner object     if ((this.oldValue === 1 && dir === 'down') || (this.oldValue === -1 && dir === 'up')) {       return 2;     }     return 1;   } });  // or use API syntax $("#spinner").spinner('step', function(dir) {   // your logic here });

Copyright and license

Copyright Vasilii A., 2015–2018 Copyright xixilive, 2013–2015

Licensed under the MIT License.


You May Also Like