события 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, время: 07:11. |