Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dynamiczne 2 selecty
rachwal
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 29.08.2002
Skąd: Wrocław

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


witam,
mam problem, mianowicie:

na stronie mamy dwa pola Select,
w zaleznosci od wyboru pierwszego selecta,
w drugim wyswietlaja sie odpowiednie opcje,

wyobrazic mozna to sobie na podstawie modeli samochodow
i ich typow, po wybraniu konkretnego modelu w drugim polu
wyswietlaja mi sie tylko typy danego modelu.

chcialbym to zrobic bez przeladowywania strony (czyli pewnie JS),
a typy i modele, czyli dane do obu selectow pobierac z bazy :/

za wszelka pomoc i sugestie dziekuje,
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
php programmer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


robiłem to jakiś miesiąc temu, to są fragmenty najważniejszych kodów

plik CSV
Kod
Wszystkie
Nieruchomo¶ci         | Sprzedam  | Kupię | Poszukuję do wynajęcia | Mam do wynajęcia | Zamienię
Motoryzacja           | Sprzedam  | Kupię | Zamienię | Czę¶ci zamienne
Sprzęt Elektroniczny  | Sprzedam  | Kupię | Zamienię
Rowery                | Sprzedam  | Kupię | Zamienię | Wspólna jazda



plik php+js
Kod
<?
$plik = file('ogloszenia/kategorie.csv');
$ile = count($plik);

echo '<script language="javascript">'."\n";


// zmienne odpowiadające tablicy POST
echo "var kategoria  = '".$kategoria."';\n";
echo "var podkategoria = '".$podkategoria."';\n";

// utworzenie tablicy kategorii
echo 'var kategorie = new Array();'."\n";

// utworzrzenie tablic podkategori
for($i=0;$i<$ile;$i++)
  echo 'kategorie['.$i.'] = new Array();'."\n";

// wypełnienie tablic
for($i=0;$i<$ile;$i++){
  $podkategorie = explode('|',trim($plik[$i]));
  $ilosc1 = count($podkategorie);
  for($k=0;$k<$ilosc1;$k++)
      echo 'kategorie['.$i.']['.$k.']="'.trim($podkategorie[$k]).'";'."\n";
  }
echo '</script>';
?>

<script language="javascript">

function SetKategorie(){
var KS = document.getElementById('kategoria');
for (i=0;i<kategorie.length;i++)
   KS.options[KS.length] = new Option(kategorie[i][0],kategorie[i][0]);
KS.value = kategoria;
}

function SetPodKategorie(){
var PKS = document.getElementById('podkategoria');
var wybrana = document.getElementById('kategoria').selectedIndex;
for (i=PKS.length-1;i>=0;i--) PKS.remove(i);
PKS.options[0] = new Option('Wszystkie','Wszystkie');
for (i=1;i<kategorie[wybrana].length;i++)
   PKS.options[PKS.length] = new Option(kategorie[wybrana][i],kategorie[wybrana][i]);
}

</script>


  1. <SELECT name="kategoria" id="kategoria" style="width:150px" onChange="SetPodKategorie()"></SELECT>
  2. <SELECT name="podkategoria" id="podkategoria" style="width:150px;"></SELECT>


Ten post edytował php programmer 4.11.2005, 10:30:30
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 10:11