Mobile-friendly number spinner for Twitter Bootstrap.
All options can be set using data-
attributes or passed as a TypeScript object.
The value can be get/set using the val
function on the jQuery object:
import { BootstrapNumberSpinner } from 'bootstrap-number-spinner';
const node = document.querySelector('#spinner');
if (node) {
const spinner = new BootstrapNumberSpinner(node, { format: '%d mm' });
spinner.value = 3;
}
<div class="input-group">
<input type="text" name="font-size" class="form-control spinner"
value="12" data-format="%d pt" data-min="6" data-max="20">
<span class="input-group-btn">
<button class="btn btn-default" type="button" data-incr="-1">–</button>
<button class="btn btn-default" type="button" data-incr="1">+</button>
</span>
</div>
<div class="input-group">
<input type="text" name="font-size" class="form-control spinner"
value="1.09" data-format="$ %.2f" data-min="0" data-max="2">
<span class="input-group-btn">
<button class="btn btn-default" type="button" data-incr="-0.01">–</button>
<button class="btn btn-default" type="button" data-incr="0.01">+</button>
</span>
</div>
const optionsDemoNode = document.querySelector('#options-demo-spinner');
if (optionsDemoNode) {
const optionsDemoSpinner = new BootstrapNumberSpinner(
optionsDemoNode, { min: 2, max: 5, format: '%d mm' });
optionsDemoSpinner.value = 3;
}
const eventDemoNode = document.querySelector('#event-demo-spinner');
const eventDemoIndicator = document.querySelector('#event-demo-indicator');
if (eventDemoNode && eventDemoIndicator) {
const eventDemoSpinner = new BootstrapNumberSpinner(eventDemoNode);
eventDemoNode.addEventListener('change.bs.spinner', evt => {
eventDemoIndicator.innerHTML = eventDemoSpinner.value.toString();
})
}