Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie dynamiczne nazw zmiennych
grzemach
post
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 smile.gif

Przepraszam za SPAM smile.gif

Ten post edytował grzemach 25.01.2008, 21:01:37


--------------------
Go to the top of the page
+Quote Post

Posty w temacie
- grzemach   Tworzenie dynamiczne nazw zmiennych   25.01.2008, 20:24:41


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:15