![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 4 Dołączył: 9.06.2007 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Piszę skrypt do podliczania ceny w JS, ceny posiadam w polach hidden, resztę w jawnych użytkownik może wybrać sobie dowolne elementy (to wszystko już mam), teraz zostało mi zrobienie ostatniego elementu podliczenie ceny, ze bardzo nie mogłem zrobić tego inaczej fragment w którym mam problem: for(var i = 0; i < checkbox.length; i++) { if(checkbox[i].checked) { getthiszmienna = 'zmienna'+checkbox[i].value; prise += document.forms[0].getthiszmienna.value; } } to wyrzuca błąd ale jeśli zamiast czegoś takiego dam np for(var i = 0; i < checkbox.length; i++) { if(checkbox[i].checked) { prise += document.forms[0].zmienna1.value; } } skrypt działa prawie poprawnie (wszystkie elementy mają tą samą wartość). Nie mogę przypisać elementów na stałe gdyż całość jest generowana dynamicznie i może być tych elementów 1 jak również 30, ciężko określić. Mam nadzieję że rozumiecie co próbuję zrobić i będzie mi ktoś w stanie pomóc. -------------------------- EDIT: Dla potomnych: for(var i = 0; i < checkbox.length; i++) { if(checkbox[i].checked) { getthiszmienna = "domain"+checkbox[i].value; for(j=0; j<number_of_elements;j++){ if(document.forms[0].elements[j].name == getthiszmienna){ prise += parseFloat(document.forms[0].elements[j].value); } } } } zdaję sobie że jest to rozwiązanie wielce nie optymalne, ale nawet jak będzie 30 elementów (a raczej nigdy nie będzie) to użytkownik nie odczuje różnicy w działaniu jak by było ok 3 ![]() Przepraszam za SPAM ![]() Ten post edytował grzemach 25.01.2008, 21:01:37 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:48 |