Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Ajax] - formularz - dwa spięte selecty multiple
Forum PHP.pl > Forum > XML, AJAX
makudo
Witam
Mam taki problem, chciałbym zrobić skrypt który wyświetla dwa selecty .
W pierwszym jest np: kolor , samochód
a w drugim w zależności od tego czy się wybierze kolor to wypisuje czerwony , zielony .
a jak samochód to Trabant , Syrenka.
Oczywiście podpięte jest to pod bazę danych .

Nie mogę wkleić kodu ponieważ w sumie jest za długi , ale korzystałem z tego skryptu:
http://www.dhtmlgoodies.com/index.html?whi..._chained_select


i sprawa wygląda tak:
Przy pojedynczym kliknięciu wszystko działa ok
Ale jak to przerobić aby po wybraniu i koloru i samochodu wypisał ->czerwony , zielony , trabant , syrenka?

Za wszelką pomoc z góry dzięki:)

Aha , jakby co to pierwszy przykład z tej strony jako że jest to zrobione na dwa sposoby , ale ten drugi mi nie działa . Bawiłem się tym pierwszym country cities.


ŁĄCZENIE PODWÓJNEGO WPISU


OK
Znalazłem takie coś:
http://mattkruse.com/javascript/dynamicoptionlist/

Example 3 , podprzykład pierwszy.

Wyciąłem to co niezbędne i wygląda to tak:
Kod
<HTML>
  <HEAD>
  <script SRC="DynamicOptionList.js"></SCRIPT>
  <script SRC="common.js"></SCRIPT>
  </HEAD>
  <BODY BGCOLOR=#FFFFFF LINK="#00615F" VLINK="#00615F" ALINK="#00615F" onLoad="initDynamicOptionLists();">
  <TABLE WIDTH="100%" BORDER="0"><TR><TD WIDTH="100%" ALIGN="LEFT" VALIGN="TOP">
  <FORM NAME="FORM1" action="aaa.php" method="get">
  <script ID="example3">
  var makeModel = new DynamicOptionList("MAKE","MODEL");
  makeModel.forValue("Ford").addOptions("Fiesta","Focus","Taurus1");
  makeModel.forText("Honda").addOptions("Civic","Accord","Prelude");
  makeModel.forValue("Toyota").addOptionsTextValue("Camry","10-CAMRY","Corolla","20-COROLLA","Celica","30-CELICA");
  </SCRIPT>
  <TABLE BORDER="1" CELLSPACING="0" CELLPADDING="3">
  <TR>
      <TH>Make</TH><TH>Model</TH>
  </TR>
  <TR>
      <TD VALGN="top">
      <SELECT NAME="MAKE" MULTIPLE SIZE=10>
          <OPTION VALUE="Honda">Honda
          <OPTION VALUE="Ford">Ford
          <OPTION VALUE="Toyota">Toyota
      </SELECT>
      </TD>
      <TD VALIGN="top">
      <SELECT NAME="MODEL" MULTIPLE SIZE=10>
      <script LANGUAGE="JavaScript">makeModel.printOptions("MODEL")</SCRIPT>
      </SELECT>
      </TD>
  </TR>
  </TABLE>
  <input type=submit name=submit value=submit>
  </FORM>
  </TD><TD VALIGN="TOP">
  </TD></TR></TABLE>
  </BODY>
  </HTML>


Tylko trzeba załączyć dwie biblioteki z powyższego linku.

I tu bardzo fajnie działa , tak o co mi chodziło.
Problem pojawia się przy próbie submitowania tego . Powstaje mi taki link:

http: // xxx.xxx.xx.xx / ~xxx /xxx . php ? MAKE = Honda & MAKE = Ford & MAKE = Toyota & MODEL = Civic & MODEL = Accord & submit = submit


Jak to bezpiecznie przerobić na tablice? dawanie MODEL[] coś mi nie wychodzi .
Ostatecznie mógłbym pobrać tego URL i jakąś fukcją powyciągać ręcznie interesujące mnie zmienne , ale to ma iść metodą POST.
Chyba że znacie funkcje którymi mógłbym też ręcznie ściągać zmienne z POST.
erix
Cytat
Jak to bezpiecznie przerobić na tablice? dawanie MODEL[] coś mi nie wychodzi .

To znaczy? Jeśli chodzi o <select multiple="multiple" />, to jedyny sposób odebrania wszystkich wartości bez JS.

Cytat
Chyba że znacie funkcje którymi mógłbym też ręcznie ściągać zmienne z POST.

Tzn?

Pokaż, jak próbowałeś, czym się to kończyło.
makudo
OK
Jednak działa:)
Po takim czasie szukania jakiegoś rozwiązania już nie kontaktowałem , ale dziś zasiadłem i już ta tablica działa jak powinna.

To skrypt jak powyżej tylko zamiast MODEL to MODEL[]

i odczyt php
<?
$modele = $_POST['MODEL'];
foreach ($modele as $s) {
echo "$s<br />";
}
?>
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.