Autor | Zpráva | ||
---|---|---|---|
balidas Profil * |
#1 · Zasláno: 8. 6. 2007, 15:05:51
Ahoj,
mam tabulku generovanou PHPckem, v kazdy radce je cena za kilo a 3 inputy (normalni, button a read only). Kdyz do normalniho (mam to jako mnozstvi) napisu cislo tak na onClick mi to do toho read only hodi soucin (celkovou cenu). Id vsech tech poli se generuje rovnez phpckem. A ja bych chtel udelat javascript kterej by mi poscital vsechny read only ktery jsou zadany, jen nevim jak na to. Premejslel jsem jestli nejde nejak pouzit regular expression v getElementById, neco jako getElementByID("total_/^d$/"), coz by vzalo total_11, total_3 a kterykoliv jiny cislo na konci. Stranky jsou na www.kulicka.borec.cz a jedna se o tabulku v products (aby byli videt ty inputy, tak je se treba zalogovat, username: test, password: test, nebo se muzete zaregistrovat :).). Vim ze to neni zadna nadhera, ale jde hlavne o funkcnost a zadani (je do comaci ukol :)). |
||
balidas Profil * |
#2 · Zasláno: 9. 6. 2007, 13:49:24
neslo by treba nejak nadefinovat promenou ktera by rikala vsechny inputy zacinajici total_ a koncici cislem? Neco jako:
var total=new Array("total_/^d$/"); a pak s tim nejak pracovat dal. Jo a nemam to radsi zkopirovat do zacatecnickyh dotazu? Jestli jsem s timhle dotazem ve spatny sekci ta pardon |
||
balidas Profil * |
#3 · Zasláno: 10. 6. 2007, 09:49:29
tak jeste jinak:
da se nejak zjednodusit zapis: var total_1 = getElementByID("total_1").value; var total_2 = getElementByID("total_2").value; var total_3 = getElementByID("total_3").value; . . . . var total_∞ = getElementByID("total_∞").value; var total = total_1 + total_2 + total_3 + ....... + total_∞; alert(total); |
||
Časová prodleva: 3 dny
|
|||
balidas Profil * |
#4 · Zasláno: 13. 6. 2007, 06:32:34
tak jeste jinak :), tohle jsem z toho vyrezal:
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'> <html> <head> <title>Java test</title> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> <script> function calculate(price,item_price,quantity){ var item_total = 0; var total_price = 0; var quantity = document.getElementById(quantity).value; var item_total = Math.round(price * quantity * 100)/100; /* rounding to show decimals */ document.getElementById(item_price).value = item_total.toFixed([2]); /* toFixed([2]) means that result will have two decimal numbers */ var x=document.getElementById("ProductsLogged"); for (var i=1;i<(x.lenght);i=i+2) { if (x.elements[i].value!="") {total_price = total_price + parseFloat(x.elements[i].value);} } document.getElementById("total").value = total_price.toFixed([2]); } </script> </head> <body> <table width='75%' border='1' cellspacing='0' cellpadding='0'> <form name='ProductsLogged' id='ProductsLogged'> <tr> <th>ID</th> <th>Type</th> <th>Name</th> <th colspan='2'>Price</th> <th>Image</th> <th>Quantity</th> <th>Total</th> </tr> <tr> <td>8</td> <td>fruit</td> <td>apple</td> <td width='30px'>2.60</td> <td width='30px'>per kg</td> <td width='100px' height='100px'><img src='IMAGES/PRODUCTS/apple.jpg'></td> <td><input type='text' maxlength='4' value='0' style='width:40px' id='quantity_8' onKeyUp="calculate(2.60,'total_price_8','quantity_8')"></td> <td><input type='text' maxlength='4' readonly style='width:80px' id='total_price_8'></td> </tr> <tr> <td>9</td> <td>fruit</td> <td>hruska</td> <td width='30px'>3.60</td> <td width='30px'>per kg</td> <td width='100px' height='100px'><img src='IMAGES/PRODUCTS/apple.jpg'></td> <td><input type='text' maxlength='4' value='0' style='width:40px' id='quantity_9' onKeyUp="calculate(3.60,'total_price_9','quantity_9')"></td> <td><input type='text' maxlength='4' readonly style='width:80px' id='total_price_9'></td> </tr> </table> <p><b>Total<b><br><input type="text" id="total" name="total" readonly></p> </form> </html> Jde mi o to aby to v kazdym druhym inputu secetlo value a hodilo ji to dolu do policka total. Jenze mi to tam porad hazi nulu a ja nevim proc. Diik |
||
balidas Profil * |
#5 · Zasláno: 13. 6. 2007, 06:53:21
OMG, sry za posledni dotaz. Ted jsem na to prisel
napsal jsem: lenght misto: length :) |
||
vinnetou Profil * |
#6 · Zasláno: 13. 6. 2007, 08:41:13
asi bych ty hodnoty v polich secetl jednoduse takhle (mam to udelany na nazvy formular.polich pomoci name ne id):
function celkovyVysledek(){ celkem=0; delka=document.ProductsLogged.length; for (i=0;i<delka;i++){ if (document.ProductsLogged.elements[i].name.indexOf("total_price_")!=-1 ){ celkem+=document.ProductsLogged.elements[i].value*1; } } document.ProductsLogged.total.value=celkem; } |
||
balidas Profil * |
#7 · Zasláno: 13. 6. 2007, 10:36:21
awsome dikes, presne tohle jsem potreboval a uz mi to krasne slape
cheers |
||
Časová prodleva: 17 let
|
0