Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Zaleznosci w RadioButton
lutador
post
Post #1





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

Ostrzeżenie: (0%)
-----


Witam,

mam problem w wymysleniu algorytmu i zapisaniu tego w js nastepujacej sprawy:
1. Chcialbym aby w zaleznosci od wybranej ramy i wybranego materialu dostepne bylyby rozne pojemnosci np
rama 8360, material stalowa, pojemnosc 28,33 reszta radioButtonow bylaby nie aktywna

robilem to za pomoca funckji disableRadio('FormWywrotka','RadioPojemnosc',4); lub enableRadio(..); tylko wtedy mialem 2 warunki material i pojemnosc teraz doszedl mi warunek z dlugoscia ramy czyli mam 3 warunki od ktorej zalezy ktore beda RadioButtony aktywne a ktore nie
czy ktos ma moze pomysl jak to w prosty sposob rozwiazac?

  1. <!--1. wybieram dlugosc ramy -->
  2. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="8360" checked>
  3. Krótka 8360
  4. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="9200" >
  5. Długa 10200
  6. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="10200" >
  7. Inna 10400
  8.  
  9. <!--2. Rodzaj materialu -->
  10. <input type="radio" name="RadioRodzajMaterialu" id="RadioRodzajMaterialu" value="Stalowa" checked>
  11. Stalowa
  12. <input type="radio" name="RadioRodzajMaterialu" id="RadioRodzajMaterialu" value="Aluminiowa" >
  13. Aluminiowa
  14. <input type="radio" name="RadioRodzajMaterialu" id="RadioRodzajMaterialu" value="S355" >
  15. Stalowa z blachy S355
  16. <!--3. Wielkosc skrzyni -->
  17. standardowa:
  18. <input type="radio" name="RadioPojemnosc" id="RadioPojemnosc" value="28">
  19. 28m<sup>3</sup>
  20. <input type="radio" name="RadioPojemnosc" id="RadioPojemnosc" value="33" checked>
  21. 33m<sup>3</sup>
  22. <input type="radio" name="RadioPojemnosc" id="RadioPojemnosc" value="35">
  23. 35m<sup>3</sup>
  24. <input type="radio" name="RadioPojemnosc" id="RadioPojemnosc" value="38">
  25. 38m<sup>3</sup>
  26. <input type="radio" name="RadioPojemnosc" id="RadioPojemnosc" value="40" disabled>
  27. 40m<sup>3</sup>
Go to the top of the page
+Quote Post
golaod
post
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Tworzysz sobie np. w tablicy drzewko zależności i potem za każdym klikiem sprawdzasz co powinno być wyłączone a co nie. To jest dobry sposób bo wystarczy go wtedy tylko rozbudować a nie zmieniać cały skrypt.
Go to the top of the page
+Quote Post
lutador
post
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

Ostrzeżenie: (0%)
-----


a moglbys napisac mi przykladowy kod ktory ja sobie potem rozbuduje? nie jestem za dobry z js
Go to the top of the page
+Quote Post
golaod
post
Post #4





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. tablica = new Array();
  2. //klucz w tablicy odpowiada jakiemus okreslonemu lancuchowi
  3. //od 0 do 2 bedzie dlugosc
  4. tablica[0] = 'r_0,r_2';
  5. tablica[1] = 'r_0,r_1';
  6. tablica[2] = 'r_2';
  7. //co oznacza juz pierwsza zaleznosc czyli czyli jezeli ktos wybral
  8. //pierwsza dlugosc to moze potem kliknac tylko rodzaj 0 lub rodzaj 2 metalu
  9. //oczywiscie jak to wykonac. A no tak:
  10. function do_it(_number)
  11. {
  12. temp = tablica[_number].split(',');
  13. for(i=0;i<temp.length;i++)
  14. {
  15. document.getElementById(temp[i]).disabled=true;
  16. document.getElementById(temp[i]).checked=false;
  17. }
  18. }
  19. </head>
  20. <!--1. wybieram dlugosc ramy -->
  21. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="8360" onClick="do_it(0)">
  22. Krótka 8360
  23. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="9200" onClick="do_it(1)">
  24. Długa 10200
  25. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="10200" onClick="do_it(2)">
  26. Inna 10400
  27.  
  28. <!--2. Rodzaj materialu -->
  29. <input type="radio" name="RadioRodzajMaterialu" id="r_0" value="Stalowa">
  30. Stalowa
  31. <input type="radio" name="RadioRodzajMaterialu" id="r_1" value="Aluminiowa" >
  32. Aluminiowa
  33. <input type="radio" name="RadioRodzajMaterialu" id="r_2" value="S355" >
  34. Stalowa z blachy S355
  35. </body>
  36. </html>

Teraz wystarczy tylko i wyłącznie dokładać zależności do tablicy, przy każdym inpucie dawać odpowiednie id i przede wszystkim odwołanie do dobrego indeksu w tablicy.
Go to the top of the page
+Quote Post
lutador
post
Post #5





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

Ostrzeżenie: (0%)
-----


DZIEKI ale to nie do konca dziala tak jak bym chcial. Jezeli wybieram Rama krotka to pozniej chcialbym wybrac z 3 metali i dopiero pozniej miec wybor kilku pojemnosci. Z tego co przestestowalem to rozwiazanie jest dobry gdybym mial tylko 2 warunki jak ty to zrobiles a ja mam 3.
A jak zrobic jeszcze zeby to dzialalo w 2 strony tzn jak wybiore krotka i zablokuja mi sie 2 buttony, a potem wybiore dluga to zeby mi sie 2 pierwsze odblokowaly a nie wszystkie zablokowaly

  1. tablica[0] = 'r_2,p_0,p_1,p_2';
  2. tablica[1] = 'r_0,r_1';
  3. tablica[2] = 'r_2';
  4.  
  5.  
  6. <!--1. wybieram dlugosc ramy -->
  7. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="8360" onClick="do_it(0)">
  8. Krótka 8360
  9. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="9200" onClick="do_it(1)">
  10. Dluga 10200
  11. <input type="radio" name="RadioRamaDlugosc" id="RadioRamaDlugosc" value="10200" onClick="do_it(2)">
  12. Inna 10400
  13. <p>
  14. <!--2. Rodzaj materialu -->
  15. <input type="radio" name="RadioRodzajMaterialu" id="r_0" value="Stalowa">
  16. Stalowa
  17. <input type="radio" name="RadioRodzajMaterialu" id="r_1" value="Aluminiowa" >
  18. Aluminiowa
  19. <input type="radio" name="RadioRodzajMaterialu" id="r_2" value="S355" >
  20. Stalowa z blachy S355
  21. <p>
  22. standardowa:
  23. <input type="radio" name="RadioPojemnosc" id="p_0" value="28">
  24. 28m<sup>3</sup>
  25. <input type="radio" name="RadioPojemnosc" id="p_1" value="33" checked>
  26. 33m<sup>3</sup>
  27. <input type="radio" name="RadioPojemnosc" id="p_2" value="35">
  28. 35m<sup>3</sup>
  29. <input type="radio" name="RadioPojemnosc" id="p_3" value="38">
  30. 38m<sup>3</sup>
  31. <input type="radio" name="RadioPojemnosc" id="p_4" value="40" disabled>
  32. 40m<sup>3</sup>
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 07:52