laimas, если автор задает такие вопросы на форуме, то этот код он явно не сам писал.
Если он его не сам писал, то переписать весь код, чтобы было правильно он не сможет.
Если в этом банальном алгоритме допущены ошибки, то наверняка в остальном коде можно найти и что поинтереснее.
С тобою написанным согласен, но сказать, что мой код некорректен не могу, т.к. он решает проблему, но не устраняет глупостей уже написанного кода.
Upd. я бы сделал примерно так, не тестил.
jQuery('body').on('click','.quo span',function(){
var $t=jQuery(this),
$con=$t.parents('.quo').find('.form-control');
col=$con.val();
id=$con.attr('data-id');
if($t.hasClass('up'))
col++;
else
col--;
$con.val(col);
var form_control=$con.get(0);
if(!!form_control.__timer)
clearTimeout(form_control.__timer);
form_control.__timer=setTimeout(function(){
form_control.__timer=false;
jQuery.ajax({
url:'/wp-admin/admin-ajax.php',
type:'POST',
cache:false,
data:({
action:'change_product',
col:col,
id:id,
}),
success:function(data){
jQuery('.order-form').html(data);
}
});
},250);
});