(function($) {
$.fn.spinner = function() {
this.each(function() {
var el = $(this);
// add elements
el.wrap('');
el.removeAttr("id");
el.before('-');
el.after('+');
// 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);