Я написал замечательную функцию для обертывания ввода кнопками увеличения / уменьшения:
$.fn.qDecInc = function(){
return this.wrap('<span id="qButtons" />').after($('<span/>', { class: 'qIncButton' }).bind('click', function() {
var ov = 0;
if (isNaN($(this).val())){
ov = 0;
} else {
ov = $(this).val();
}
if (ov < 99){
var nv = parseFloat(ov) + 1;
$(this).val(nv);
$(this).keyup();
$(this).change();
}
}), $('<span/>', { class: 'qDecButton', style: 'top: 11px;' }).bind('click', function() {
var ov = 0;
if (isNaN($(this).val())){
ov = 0;
} else {
ov = $(this).val();
}
if (ov > 0){
var nv = parseFloat(ov) - 1;
$(this).val(nv);
$(this).keyup();
$(this).change();
}
}));
}
Значения обновляются, а входы - нет.Я пытался
$(this).live("change");
и даже
$("body").delegate($(this), "change");
безрезультатно.Что я пропустил?
http://jsfiddle.net/MVxsA/1/ - вот вам jsfiddle для вашего удобства.