|
Тема |
Javascript:Пресмятане на стойности от клетки |
|
Автор |
Nebesen1 (stubborn) |
|
Публикувано | 19.01.07 15:12 |
|
|
Здравейте
Опитвам се да направя следното нещо - елементарна таблица с продукти и цените им даречем 5 реда. На 6тия ред се пресмята общата стойност на продуктите, като цените им може да се променят и при промяна, да се пресмята новата сума. Съвсем нов съм в джаваскрипт, но засега нещата изглеждат така :
В отговор на:
<script type="text/javascript">
function calculate()
{
sum=0;
i=0;
while(document.getElementById(i).value.length!=0)
{
val=document.getElementById(i).value;
sum=sum+parseInt(val);
i=i+1;
}
document.getElementById("sum").innerHTML=sum;
}
</script>
В отговор на:
$query=mysql_query("SELECT * FROM products WHERE system='$system_id'");
echo "<form name=myform><table id=tableid border=1 cellpadding=0 cellspacing=0 width=50%><tr>
<td align=center width=50%><b>Product</b></td>
<td align=center width=50%><b>Price</b></td></tr>";
for($i=0; $i<mysql_num_rows($query); $i++)
{
$product_name=mysql_result($sql, $i, "ime");
$bez_dds=mysql_result($sql, $i, "bez_dds");
echo "<tr>
<td align=center>$product_name</td>
<td align=center><input type=text id=$i onkeyup=calculate()></td>
</tr>";
}
echo "<tr>
<td align=center><b>Sum:</b></td>
<td id=sum align=center></td></tr>
</table></form>";
Така това принципно работи, но с няколко проблема:
1)Ако задам <input type=text id=$i onkeyup=calculate() VALUE=$bez_dds> не пресмята нищо. Как мога хем да задам дефолт стойност, хем да мога да я пресмятам при промяна с джаваскрипта ?
2)Пресмята се стойността на всички полета с изключение на последното. Последното поле просто не се включва в общата сума. Прегледах няколко пъти циклите, но не виждам къде може да е проблема. Някакви идеи ?
Благодаря предварително.
Just do it
|
| |
|
|
|