Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]lista rozwijana
Forum PHP.pl > Forum > Przedszkole
trav
witam , mam pewien problem. Mianowicie chciałbym zrobić prostą strone która zawierała by 2 listy rozwijane składające sie z 15 pozycji do tego jezeli w pierwszej liscie wybiore pozycje np " jabłko antonówka" to chciałbym zeby w 2giej automatycznie znikała bo obydwie listy maja zawierac 15 tych samch pozycji . do tego przycisk który odpowiednio by mnie przekierował na strone z danymi która sam utworze np jabłko antonówka->gruszka lukas.pomógł by mi ktoś jak sie za to zabrać , moze jakiś skrypt?
szczeku
najszybciej bedzie jak sie zapoznasz z jQuery, a zwłaszcza z funkcją change(); .
Kod
$("#lista1").change(function() {
   var value = $(this).val();
   switch (value) {
      ...
      }
   });


jeszcze przed switch'em robisz albo jakos petle albo za pomoca selektorów ustawiasz w drugiej liscie styl wszystkich pól <option> na "display:block;" (w jQuery funckja .css()). Nastepnie juz w switch'u styl konkretnego pola z drugiej listy na "display:none;"

Poszukaj w googlu napewno znajdziesz troche przykladów. A poza tym same przyklady na stronie jQuery powinny ci to wyjasnic.
trav
strona nie moze zawierac javascriptu : (
szczeku
Bez JS nie zrobisz tego zabardzo, w takim razie najlepiej zrób to z pomocą PHP'a. Najpierw jędną lista którą wysyłasz, i w nowym oknie nowa, bez odpowiedniej opcji. Tak będzie najlepiej. Mam jeszcze, takie rozwiązanie, które jednak ma jedną poważną wadę: i tak można wybrac dwie te same odpowiedzi, no i nie jest na lista rozwijanych tylko na radiobutton'ach. Aha no i jeszcze tylko po wybraniu elementu z pierwszej znika element z drugiej, a na odwrót nie.

  1. </head>
  2. input[name="lista1"]:checked + span.lista2 { display:none; }
  3. <input id="l11" type="radio" name="lista1" value="1">1
  4. <span class="lista2"><input id="l21" type="radio" name="lista2" value="1">1</span>
  5. <br>
  6. <input id="l12" type="radio" name="lista1" value="2">2
  7. <span class="lista2"><input id="l22" type="radio" name="lista2" value="2">2</span>
  8. <br>
  9. <input id="l13" type="radio" name="lista1" value="3">3
  10. <span class="lista2"><input id="l23" type="radio" name="lista2" value="3">3</span>
  11. </body>
  12. </html>


Znikający element nie jest usuwany czy wylaczany, tylko po prostu niejest wyświetlany. Wiec jesli on byl wybrany przed tym zanim zniknol i pozniej nikt nie wybral innego w drugiej liscie, to przy wysylaniu formularza wlasnie ten element bedzie wybrany.

Wiec jak napisalem na początku, lepiej skorzystaj z PHP'a
trav
niestety musi byc lista rozwijana ; /
moze byc juz bez tego usuwania z 2giej pozycji tego samego wybranego wpisu

chodzi mi o cos takiego jak jest na tej stronie http://www.skm.pkp.pl
szczeku
czekaj czekaj, czyli ty chcesz to tez od strony PHP'a, no bo teraz z tego wszystkiego tak wynika. Dobra rada: lepiej formułuj pytania/prośby. A co do rozwiązania to jest to podstawowa sprawa z formularzami w PHP'ie, nie bede za ciebie robil takich rzeczy. poczytaj cos o obslugiwaniiu formularzy w PHP. Ogólny schemat jest taki: najpierw jest formularz który po kliknieciu przycisku submit, jest wysyłany na serwer, na strone podaną w atrybucie action znacznika form, i na tej stronie jest interpretacja przesłanych danych, czyli w tym wypadku ,te twoje dwa owoce, mozesz tutaj sprawdzic czy aby napewno sa to dwa rozne, a jezeli takie same to przekierowac spowrotem na formularz.
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.