Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сумма по событию
 
 автор: cjgun   (15.12.2006 в 02:34)   письмо автору
 
 

Есть задача:
Выводиться список элементов. Все элементы имеют разный ID список может содержать от 3 до 150 к примеру элементов в зависимости от условий.
Нужно посчитать сумму всех элементов по событию chekbox (checked).

Вот мой вариант:

Если я кликаю на чекбоксы по порядку то счиается сумма нормально. Но если это сделать быстро и много раз на 1 и тот же чекбокс то результат неожиданный или в минусы уходит сумма или в плюсы.

<input type=checkbox name=part[".$parts["id"]."] id=checkbox".$parts["id"]."  onclick=\"sum_total(".$parts["id"].")\"><b>".$parts["name"]."</b><br>

<SCRIPT LANGUAGE="JavaScript">
<!--
function sum_total(s) {
  var sum_total=0;
        fsum_el = document.getElementById("ftotal");
        rsum_el = document.getElementById("rtotal");
       checkbox_el = document.getElementById("checkbox"+s);
        p_costfeak = document.getElementById("p_costfeak"+s);
        p_costreal = document.getElementById("p_costreal"+s);
      
        if (checkbox_el.checked) {
          fsum_el.value = Number(fsum_el.value) + Number(p_costfeak.value);
          rsum_el.value = Number(rsum_el.value) + Number(p_costreal.value);
        } else {
          fsum_el.value = Number(fsum_el.value) - Number(p_costfeak.value);
          rsum_el.value = Number(rsum_el.value) - Number(p_costreal.value);
        }
}
//-->
</SCRIPT>

Подскажите где грабли.
Заранее огромное сенькс.

   
 
 автор: coloboc66   (15.12.2006 в 12:16)   письмо автору
 
   для: cjgun   (15.12.2006 в 02:34)
 

А вы подсчитывайте сумму не по клику на чекбоксе, а по клику, например, на отдельной кнопке.

   
 
 автор: cjgun   (15.12.2006 в 13:10)   письмо автору
 
   для: coloboc66   (15.12.2006 в 12:16)
 

В том то и дело что хотел чтоб сразу считалось, а не раставил чекбоксы и посчита сумму.

   
 
 автор: 12345   (15.12.2006 в 14:19)   письмо автору
 
   для: cjgun   (15.12.2006 в 13:10)
 

Задержка нужна. Чекбоксы - один из случаев, где она нужна.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования