Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML][JavaScript] Problem z option value selected
mihipoznan
post 19.05.2008, 23:28:44
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


Mam stronę gdzie zamieszczane są oferty. Każdą ofertę można aktalizować. Pobieram ze wcześniejszej strony dane do option value za pomocą $_SESSION. Wszytsko jest okej przy pierwszym selekcie...ale nie wiem jak zrobić drugi by też dane w selekcie wybierały się automatycznie.Są to dynamiczne selekty zależne od siebie.Nie wiem jak zrobić podobnie ten drugi selekt bo jest on głównie oparty o js.. mam problem od linijki
Kod
select name="drugi" id="2" style="width: 180px;"

Chcę zrobić tak jak działa pierwszy selekt smile.gif

Kod w linku bo nie mieści się w poście smile.gif
https://www.pphfarina.pl/edycja_1.txt
z góry wielkie dzięki za pomoc smile.gif

Ten post edytował mihipoznan 19.05.2008, 23:29:31
Go to the top of the page
+Quote Post
zzeus
post 20.05.2008, 00:57:35
Post #2





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


Chodzi Ci o to, że po wybraniu wartości w jednym selekcie automatycznie ustawia się wartość drugiego ?


--------------------
Go to the top of the page
+Quote Post
mihipoznan
post 20.05.2008, 06:51:16
Post #3





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


Tak smile.gif
Go to the top of the page
+Quote Post
piotrooo89
post 20.05.2008, 06:54:16
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




może coś takiego:

Kod
<script type="text/javascript">
function zamiana(wybor)
{
var kolory = new Array ("biały","zielony");
var rozmiar = new Array ("S1","L1","XL1");
if (wybor == "rozmiar") {
var dlugosc = rozmiar.length-1;
document.formularz.elements.drugi.options.length = rozmiar.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(rozmiar[i]);
document.formularz.drugi.options[i].value = rozmiar[i];
}
}
if (wybor == "kolory") {
var dlugosc = kolory.length-1;
document.formularz.elements.drugi.options.length = kolory.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(kolory[i]);
document.formularz.drugi.options[i].value = kolory[i];
}
}
}
</script>


i w fromularzu

  1. <form name="formularz">
  2. <select name="pierwszy" onChange="zamiana(this.value);" style="width: 150px;">
  3. <option value="kolory">kolory
  4. <option value="rozmiar">rozmiar
  5. <select name="drugi" style="width: 150px;">
  6. <option value="biały">biały
  7. <option value="zielony">zielony
  8. </form>


u mnie chodzi tylko mam problem z wczytaniem rekordów z bazy do selecta....


--------------------
Go to the top of the page
+Quote Post
mihipoznan
post 20.05.2008, 23:28:22
Post #5





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


Mam podobnie i działa..(spójrz w kod)..tylko jak z bazy wrzucę wartość pierwszego selecta to drugi się nie zmienia.. jak ręcznie wybiorę pierwszy to spoko, drugi się zmienia..

smile.gif


Jak niejasno opisane to pisać smile.gif

...

Ten post edytował mihipoznan 20.05.2008, 21:10:48
Go to the top of the page
+Quote Post
erix
post 21.05.2008, 08:33:55
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Dodaj do onload:

Kod
window.onload = function(){
zamiana(document.forms['formularz'].elements['pierwszy'].value);
}


--------------------

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!
Go to the top of the page
+Quote Post
mihipoznan
post 21.05.2008, 18:22:02
Post #7





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


Hmm..ale gdzie do onload ? tak około w jakiej linijce ?smile.gif Wiem że głupie pytanie ale z js zbyt dobry nie jestem...

smile.gif

smile.gif
Go to the top of the page
+Quote Post
erix
post 21.05.2008, 18:26:06
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://www.w3schools.com/js/js_events.asp


--------------------

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!
Go to the top of the page
+Quote Post
mihipoznan
post 22.05.2008, 11:44:25
Post #9





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


Z tego co wyczytałem to zdarzenia są wykonywane kiedy użytkownik opuści lub wejdzie na stronę smile.gif Czyli trzeba to umieścić jakoś w znaczniku <body>.. czyli w tym przypadku w select name ?

edit. bo tu http://republika.onet.pl/13965,15342,2,06-01,kursy.html też znalazłem opis tego, ale jak to zastosować w selectach ?

smile.gif
Go to the top of the page
+Quote Post
erix
post 22.05.2008, 12:29:26
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Właśnie chodzi o onload dla dokumentu. Bo dla selecta go najzwyczajniej w Świecie go nie ma. ;]

A po co do całego dokumentu dodawać?

Cytat
Mam podobnie i działa..(spójrz w kod)..tylko jak z bazy wrzucę wartość pierwszego selecta to drugi się nie zmienia.. jak ręcznie wybiorę pierwszy to spoko, drugi się zmienia..


Trzeba zmusić w ten sposób (via onload), żeby przeglądarka niejako "zmieniła" wartość na pierwszej liście, czyli automatyczne wyzwolenie onchange zaraz po załadowaniu strony. ;]


--------------------

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!
Go to the top of the page
+Quote Post
mihipoznan
post 22.05.2008, 14:26:28
Post #11





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


Czyli po prostu dodać to do body ?
Zmusić przeglądarkę, żeby zmieniała wartość drugiego selecta na odpowiedni dla wartości w tablicy $_SESSION['drugi']

w $_SESSION['pierwszy'] mam wartość 1 selecta
$_SESSION['drugi'] mam wartość drugiego



? smile.gif
Go to the top of the page
+Quote Post
erix
post 22.05.2008, 14:43:09
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Czyli po prostu dodać to do body ?

Właśnie. Albo tak, jak podałem.

Cytat
Zmusić przeglądarkę, żeby zmieniała wartość drugiego selecta na odpowiedni dla wartości w tablicy $_SESSION['drugi']

w $_SESSION['pierwszy'] mam wartość 1 selecta
$_SESSION['drugi'] mam wartość drugiego

Hmm, troszkę już mieszasz, bo tak, jak wcześniej opisałeś problem, to zależy on już tylko od strony klienta...


--------------------

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!
Go to the top of the page
+Quote Post
mihipoznan
post 23.05.2008, 18:28:44
Post #13





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


Kurcze, chyba źle się zrozumieliśmy.. a więc.. na jednej stronie dodaję oferty które idę do bazy danych. Mam tam dwa selecty, które ustalają kategorię np. pierwszy="komputery" a drugi="pc". Na innej stronie wyświetlam te informacje i za pomocę tablicy session przenoszę na stronę edycji.

w $_SESSION['pierwszy'] mam wartość 1 selecta czyli w tym wypadku komputery
$_SESSION['drugi'] mam wartość drugiego czyli w tym wypadku pc.

na stronie z edycją chcę aby selecty były automatycznie ustawione na dane z tablic, ale tak żeby select można było zmienić np. nie pc tylko mac. smile.gif

Już prawie działa tylko w drugim selekcie wybiera mi pierwszy lepszy wpis dotyczący jakiejś kategorii a nie konkretny.. (np. w 1 selekcie mam cukier i wybiera w drugim selekcie biały a w tablicy session jest przemysłowy, ręcznie mogę zmienić, ale chcę, żeby to się zmieniało automatycznie..

kod na tą chwilę.:
http://www.pphfarina.pl/edycja_12.txt

i Erix wielkie dzięki ! biggrin.gif

.

Problem rozwiązany smile.gif Przykładowo dla cukru wpisałem
  1. var cukier = new Array ("<? echo $_SESSION['drugi']?>");


Kurcze ale wtedy nie można zmienić na inny rodzaj z tego drugiego selekta haha.gif Jakieś pomysły ?biggrin.gif

Na bank ktoś wie smile.gif

...

?

Nie wiem chociaż jakieś wskazówki..

Ten post edytował mihipoznan 22.05.2008, 15:47:17
Go to the top of the page
+Quote Post
erix
post 23.05.2008, 18:44:57
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Już prawie działa tylko w drugim selekcie wybiera mi pierwszy lepszy wpis dotyczący jakiejś kategorii a nie konkretny.. (np. w 1 selekcie mam cukier i wybiera w drugim selekcie biały a w tablicy session jest przemysłowy, ręcznie mogę zmienić, ale chcę, żeby to się zmieniało automatycznie..


Cytat
Problem rozwiązany Przykładowo dla cukru wpisałem


Nie tak. Wiesz, co to jest wartość selected dla obiektu option?

PS. Nie gorączkuj się tak, jak ktoś zechce, to odpowie...


--------------------

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!
Go to the top of the page
+Quote Post
mihipoznan
post 23.05.2008, 20:29:27
Post #15





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 27.02.2008

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


hmm.. domyślam się, że jest to polecenie do wybrania konkretnej wartości ..
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 00:21