Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][JavaScript] Problem z option value selected
Forum PHP.pl > Forum > Przedszkole
mihipoznan
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
zzeus
Chodzi Ci o to, że po wybraniu wartości w jednym selekcie automatycznie ustawia się wartość drugiego ?
mihipoznan
Tak smile.gif
piotrooo89
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....
mihipoznan
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

...
erix
Dodaj do onload:

Kod
window.onload = function(){
zamiana(document.forms['formularz'].elements['pierwszy'].value);
}
mihipoznan
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
erix
http://www.w3schools.com/js/js_events.asp
mihipoznan
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
erix
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. ;]
mihipoznan
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
erix
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...
mihipoznan
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..
erix
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...
mihipoznan
hmm.. domyślam się, że jest to polecenie do wybrania konkretnej wartości ..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.