Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 13:57 06.07.25 
Клубове/ Компютри и Интернет / WEB Дизайн и HTML Пълен преглед*
Информация за клуба
Тема Re: Javascript:Пресмятане на стойности от клетки [re: Nebesen1]
Автор dimodi (...)
Публикувано19.01.07 22:09  



Здрасти,

Тъй като PHP-то няма отношение към проблема ти, вместо него можеше да дадеш готов HTML, който хората да гледат/ползват.

Иначе ето един вариант от мен, ама имай предвид, че не работи под IE5, заради toFixed() метода. Ако го махнеш, ще работи, но няма да имаш винаги два знака след десетичната точка. Твоят вариант работеше само с цели числа, докато този може и с десетични дроби.

Една особеност е, че трябва предварително да имаш Javascript масив с ID-тата на input-ите. Този масив можеш да си го построиш с PHP, като имаш резултата от заявката към базата. Друг вариант е да си ги взимаш ID-тата с Javascript след като страницата се зареди, ама лично аз не знам как става точно.

И накрая, да знаеш, че id и name атрибутите не могат да започват с цифра, трябва с буква.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xml:lang="bg" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta http-equiv="content-language" content="bg" />
<title>JS Calculate</title>
<script type="text/javascript">
// <![CDATA[
var productIds = new Array('p1', 'p2', 'p3');
var sum;
function calc()
{
sum = 0;
for (j = 0; j < productIds.length; j++)
{
if (parseInt(document.getElementById(productIds[j]).value) > 0)
{
sum += parseFloat(document.getElementById(productIds[j]).value);
}
}
document.getElementById('psum').innerHTML = sum.toFixed(2) + ' лв.';
}
// ]]>
</script>
</head>
<body>
<table summary="продукти и цени">
<caption>Продукти и цени</caption>
<thead><tr><th>Продукт</th><th>Цена без ДДС</th></tr></thead>
<tbody>
<tr><td>Чушки</td><td><input type="text" id="p1" name="p1" size="4" value="1.40" alt="Чушки"
onkeyup="javascript:calc();" /> лв.</td></tr>
<tr><td>Домати</td><td><input type="text" id="p2" name="p2" size="4" value="2.40" alt="Домати"
onkeyup="javascript:calc();" /> лв.</td></tr>
<tr><td>Сирене</td><td><input type="text" id="p3" name="p3" size="4" value="5.50" alt="Сирене"
onkeyup="javascript:calc();" /> лв.</td></tr>
</tbody>
<tfoot><tr><th>Общо</th><th id="psum">9.30 лв.</th></tr></tfoot>
</table>
</body>
</html>


Редактирано от dimodi на 19.01.07 22:12.



Цялата тема
ТемаАвторПубликувано
* Javascript:Пресмятане на стойности от клетки Nebesen1   19.01.07 15:12
. * Re: Javascript:Пресмятане на стойности от клетки dimodi   19.01.07 22:09
. * Re: Javascript:Пресмятане на стойности от клетки Nebesen1   19.01.07 23:14
. * Re: Javascript:Пресмятане на стойности от клетки dimodi   19.01.07 23:42
. * Re: Javascript:Пресмятане на стойности от клетки Nebesen1   20.01.07 00:20
. * Ъм... KoтapakътнaШpьoдинrep   20.01.07 01:15
. * Re: Ъм... Nebesen1   20.01.07 03:05
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.