события input propertychange
Здравствуйте. У меня такой вопрос.
В корзине товаров требуется сделать инпут для обновления количества, при этом количество будет набиваться туда вручную и общая сумма товаров в корзине должна пересчитываться сразу. Вот часть моего скрипта
$('#input').bind('input propertychange', function(e){
var count=$(this).val();
if (parseInt(count)>0){
$.ajax({
type: "POST",
url: "blocks/actions.php",
data: "p=2&id="+$(this).attr('rel')+'&count='+count
}).done(function(msg){
var msgarr=msg.split(';');
var oldcount = msgarr[0]*1;
var newcount = msgarr[1]*1;
var price = msgarr[2]*1;
var c = 0;
var s = 0;
var othersumma = 0;
var othercount=0;
c=othercount+newcount;
s=othersumma+newcount*price;
s=s.toFixed(2);
$('#summa').html(s);
$('#total_count').html(c);
});
}
else{
if(confirm('Удалить товар из корзины?')){
fdel(rel);
return false;}
else
return false;
}
});
В принципе подсчет общей суммы происходит во всех браузерах корректо, но есть два бага. 1) в Ие каждый раз после набивание цифры выводится confirm "Удалить товар из корзины?" 2) во всех браузерах нельзя сразу набить, например, 12. Подхватывается только цифра 1 и происходит пересчет. Подскажиет, пожалуйста, можно ли побороть эти баги? |
1 научитесь структурировать свой код . что у вас делает else на однолм уровне с параметрами аякс запроса?
Да и прочее , явно не на своих уровнях отступа Цитата:
Цитата:
использовать другое событие например http://jquery-docs.ru/events/change/, либо допиливать код : если в течении н времени не было ввода то ввод считается законченным |
Кроме того, сдается мне что в IE9-10 код будет выполняться дважды..
|
| Часовой пояс GMT +3, время: 19:11. |