Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML][JavaScript] Problem z option value selected
mihipoznan
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

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

Ten post edytował mihipoznan 19.05.2008, 23:29:31
Go to the top of the page
+Quote Post
zzeus
post
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
Post #3





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

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


Tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
piotrooo89
post
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
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..

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Jak niejasno opisane to pisać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

...

Ten post edytował mihipoznan 20.05.2008, 21:10:48
Go to the top of the page
+Quote Post
erix
post
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);
}
Go to the top of the page
+Quote Post
mihipoznan
post
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 ?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wiem że głupie pytanie ale z js zbyt dobry nie jestem...

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
erix
post
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
Go to the top of the page
+Quote Post
mihipoznan
post
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ę (IMG:http://forum.php.pl/style_emoticons/default/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 ?

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
erix
post
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. ;]
Go to the top of the page
+Quote Post
mihipoznan
post
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



? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
erix
post
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...
Go to the top of the page
+Quote Post
mihipoznan
post
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. (IMG:http://forum.php.pl/style_emoticons/default/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 ! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

.

Problem rozwiązany (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Jakieś pomysły ?(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Na bank ktoś wie (IMG:http://forum.php.pl/style_emoticons/default/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
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...
Go to the top of the page
+Quote Post
mihipoznan
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 03:44