toothpaste/static/spinner.js
2017-04-26 22:57:46 +02:00

27 lines
1.1 KiB
JavaScript

(function($) {
$.fn.spinner = function() {
this.each(function() {
var el = $(this);
// add elements
el.wrap('<span id="'+$(this).attr("id")+'" class="spinner"></span>');
el.removeAttr("id");
el.before('<span class="sub">-</span>');
el.after('<span class="add">+</span>');
// substract
el.parent().on('click', '.sub', function () {
if (el.val() > parseInt(el.attr('min')))
el.val( function(i, oldval) { return --oldval; });
el.trigger("change");
});
// increment
el.parent().on('click', '.add', function () {
if (el.val() < parseInt(el.attr('max')))
el.val( function(i, oldval) { return ++oldval; });
el.trigger("change");
});
});
};
})(jQuery);