![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 10 Dołączył: 20.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z pewnym dość obszernym formularzem. Aby był on czytelny i wygodny, stwierdziłem że najlepsze będzie użycie JS i tak zrobiłem, ale z jedną rzeczą mam kłopot. Mianowicie zmiana opcji w select po kliknięciu w odnośnik. Na początek użyłem takiego skryptu: SKRYPT Wszystko byłoby dobrze, gdyby nie to, że zmiana contentu ma się odbyć po kliknięciu w link, a nie po wybraniu z innego selecta, więc spróbowałem zastosować skrypt który po kliknięciu w odnośnik zmieniał mi na wybraną pozycję pierwszego selecta, niestety przy takim rozwiązaniu ten drugi się nie aktualizował. Celem jest osiągnięcie tego, żeby user miał mapkę województw i obok listę <select> gmin w klikniętym województwie, czyli wchodzisz, masz mapkę na której jest mapa odnośników i po kliknięciu w jeden z odnośników po prawej bez przeładowania pokazuje Ci się lista gmin w tym województwie. Wszystko mam gotowe poza tym skrypcikiem. Pytanie moje jest takie, jak zmienić skrypt do którego link podałem tak aby można było ustawić href="java script: costam;" i taki odnośnik zmieniałby opcje w select? Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Wywołaj updatecities() z parametrem z odpowiednim parametrem.
Cytat href="java script: costam; A cóż to za dziwoląg z poprzedniej epoki? Kod document.getElementById('link').onclick = function(e){ updatecities('parametr'); e.preventDefault(); }
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 10 Dołączył: 20.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ooo super
![]() ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Teraz pozostało listę tysięcy gmin wsadzić jakoś do tego cudeńka JS, no ale to już jakoś może sobie poradzę. No, nie radzę... Może teraz silniki JS są wydajniejsze, ale z tego, co kiedyś kiedyś czytałem, to przy tysiącach rekordów w tablicy JS engine się po prostu wykrzaczał albo mulił. Lepiej pobieraj listę AJAX-em. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 10 Dołączył: 20.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jest ich mniej więcej 2500-3000 podzielone na 16 tablic, więc myślę że jednak sobie to poradzi bez bardziej zaawansowanych rozwiązań...mam taką nadzieję, bo ja w tych technologiach działających po przeglądarce to nie mam zbyt dużej wiedzy i unikam tego.
Jeszcze jedno chciałem zapytać, bo skróciłem te tablice pozbywając się tego podzielenia treść|wartość i wpisałem same treści w takiej postaci: Kod cities[16]=[" Bochnia (M) "," Bochnia (W) "," Drwinia (W) "," Lipnica Murowana (W) ","...... i zastanawiam się jak teraz edytować dzielenie stringa w tej linii JS: Kod citieslist.options[citieslist.options.length]=new Option(cities[selectedcitygroup][i].split("|")[0], cities[selectedcitygroup][i].split("|")[1]) żeby nie próbowało dzielić, tylko przypisało to co jest w cudzysłowie jako i wartość i nazwa, bo teraz rozumie to jako nazwę a wartość w alercie wywala mi undefined. Możesz jeszcze przy tym pomóc? ![]() Pozdrawiam i dzięki za dotychczasową pomoc, skrypt już działa więc mogę robić dalej a poprawki na czasie się stworzy. To było najważniejsze ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Regexp.
![]() Albo dzielisz po nawiasie i wyciągasz tylko jeden znak z elementu o indeksie 1. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 10 Dołączył: 20.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tylko nic mi po jednym znaku w wartości, pasowało by mi usunięcie w ogóle podziału, a zapisanie stringa jako taką samą wartość i nazwę. Np. jak w html jest <option>costam</option> to przypisuje to co jest między tagami jako wartość, i tak tutaj bym chciał tylko JS wszystko komplikuje
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat to przypisuje to co jest między tagami jako wartość, i tak tutaj bym chciał tylko JS wszystko komplikuje A konkretniej? Nie mogę jakoś wywnioskować problemu z Twojej. Ja podałem dwa możliwe rozwiązania, pierwszego jakbyś nie dostrzegł. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 10 Dołączył: 20.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej to Ci chyba przekażę przykładem w php, pewnie tak się najlepiej zrozumiemy
![]()
Czyli żeby value było takie same jak to co między <option> ![]() A podając w tablicy tego skryptu js coś bez |value opcje te w ogóle nie mają ustawionego value i nie ma jak odczytać wyboru. A jak po każdym mieście dodam kreskę pionową i drugi raz nazwa miasta to raz że tablice będą 2 razy większe a dwa, że zajmie mi to z kilka godzin kopiowania ![]() A co do pierwszego podanego przez Ciebie rozwiązania, to widziałem, ale to nadal jest do wyrażeń regularnych a ja sie chce ich właśnie pozbyć. Wileki dzięki jeszcze raz za zainteresowanie i dotychczasową pomoc ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
http://www.w3schools.com/HTMLDOM/met_select_add.asp
Jak dodać do tego value, to chyba wiesz. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 10 Dołączył: 20.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Już za chwilę będę studiował to z tego linka, a przed tym jeszcze raz spróbuję wyjaśnić
![]() Edit: Poradziłem sobie z tym ![]() Dzięki wielkie erix za pomoc ![]() Ten post edytował Adrian1207 19.03.2009, 21:00:02 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 07:00 |