[HTML][JavaScript]Zależne pola select - jak ukryć niepotrzebne |
[HTML][JavaScript]Zależne pola select - jak ukryć niepotrzebne |
8.08.2019, 13:03:46
Post
#1
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
Witam, mam problem jak w temacie
Wybieram element z pierwszego selecta, w zależności od wyboru pokazuje mi zawartość w drugim, wybieram w drugim pokazuje wybrane w trzecim. Może być sytuacja że wybieram w pierwszym i na tym koniec, podobnie w drugim.Jak pokazzywać selekty w razie potrzeby?
|
|
|
8.08.2019, 18:35:49
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Jeśli są jakieś wartości dla <select>, a dokładnie tworzące <option>, to włącz wyświetlanie tej listy i kolejnej, jeśli brak, to wyłącz.
Domyślnie wszystkie począwszy od drugiej wyłączone. Wyłączanie poprzez style.display = 'none' lub nadawanie/odejmowanie klasy (https://developer.mozilla.org/pl/docs/Web/API/Element/classList). -------------------- |
|
|
10.08.2019, 07:58:41
Post
#3
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
słabo się czuję w JS, moższ mi w tym pomóc?
mam teraz coś takiego, ale to coś mi dalej nie działa....
|
|
|
10.08.2019, 08:06:21
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Co ma pomóc funkcja podpięta w ostatnim <select>, będziesz wyłączał poprzednie listy?
Skoro wypełniasz w funkcji fillSelect wybraną listę, to wiesz w tym momencie czy ma elementy czy nie. Zależnie od tego wyłączasz i włączasz kolejne listy. -------------------- |
|
|
10.08.2019, 08:15:55
Post
#5
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
Oczywiście że nie chcę wyłączać poprzednich wyborów, ale na tą chwilę widzę tylko pierwszy select i bez względu co wybieram za skarby narodów kolejne mi się nie pokazują........
|
|
|
10.08.2019, 08:39:17
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A które miejsce w Twoim kodzie odpowiada za pokazywanie kolejnych list?
-------------------- |
|
|
10.08.2019, 09:35:53
Post
#7
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
Tworzenie
wyświetlanie
Ten post edytował krzesik 10.08.2019, 09:47:32 |
|
|
10.08.2019, 09:58:29
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Pokazywanie - zmiana styli, nie tworzenie. Gdzie jest ten fragment? Jak znajdziesz, to pomyśl czy w dobrym miejscu
-------------------- |
|
|
10.08.2019, 11:30:50
Post
#9
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
w tym miejscu generujemy wartości dla option
zmiana styli jest tu:
powinno być w fillSelect, ale tam mi nie działa........... :-( |
|
|
10.08.2019, 11:32:11
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A obecnie działa?
Skoro jak już wiesz, że powinno być w fillSelect, to może pokażesz właśnie kod tej funkcji po modyfikacjach? -------------------- |
|
|
10.08.2019, 11:41:53
Post
#11
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
|
|
|
10.08.2019, 11:46:15
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Napisałem w poście #2 i #4, że powinieneś sprawdzać czy są dane dla listy czy nie, jeśli są, to pokazywać następny <select>.
Gdzie w tym kodzie uzależniasz pokazywanie listy od zawartości poprzedniej? -------------------- |
|
|
10.08.2019, 11:52:02
Post
#13
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
|
|
|
10.08.2019, 11:55:49
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
empty w JavaScript?
W którym miejscu w kodzie wypełniasz listę? -------------------- |
|
|
10.08.2019, 12:00:39
Post
#15
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
pisałem na początku że jestem noga z JS |
|
|
10.08.2019, 12:32:32
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Tok postępowania nie ma związku z językiem programowania.
Tak. W tym fragmencie. Mając zmienną nCat wiesz czy ma w sobie jakieś elementy czy nie, bo jest tablicą. Jeśli tablica ma jakieś elementy, to włączasz pokazywanie tej listy, ale nie kolejnych. Domyślnie, czyli przed sprawdzeniem czy tablica jest pusta, a właściwie po prostu na zdarzenie change wyłączasz widoczność tej listy i następnych. Czyli zmieniam listę1. Wyłączam widoczność lista2 i lista3. Uzupełniam zawartość lista2. Jeśli były dane do uzupełnienia, to włączam widoczność lista2. Jeśli zmieniam listę2, to wyłączam widoczność lista3. Uzupełniam listę3, a jeśli były dane to włączam jej widoczność. -------------------- |
|
|
12.08.2019, 08:06:02
Post
#17
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
Bardzo mi pomogły Twoje podpowiedzi, już mi to działa, ale mam jeszcze jedno pytanie czy jeśli zrobię to analogicznie to chciałbym aby po wybraniu odpowiedniej opcji pojawił mi się ukryty input.
wydaje mi się że zrobiłem dobrze, ale jednak efekt końcowy nie jest taki jaki oczekuję. Zerknij proszę
dziękuję za cierpliwość i pomoc. jest już OK Ten post edytował krzesik 11.08.2019, 17:36:12 |
|
|
Wersja Lo-Fi | Aktualny czas: 28.03.2024 - 14:27 |