do zrobienia banalnie proste, mam coś takiego u siebie z tym, że to czysty javascript bez frameworków.
Wygląda to tak:
Dodajesz to do nagłówka:
<script type="text/javascript"> var xmlhttp;
function showList(str,str2)
{xmlhttp=GetXmlHttpObject();
var url="'.URL.'show_models.php";<!-- plik z którego pobiera zawartość-->
url=url+"?N-4_marka="+str+"&selectID="+str2;<!--zapytanie przesyłane do pliku z którego pobieramy zawartość-->
xmlhttp.onreadystatechange=stateListChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);}
function stateListChanged()
{if (xmlhttp.readyState==4)
{document.getElementById("select").innerHTML=xmlhttp.responseText;
document.getElementById("hidden_select").style.display = "none";
document.getElementById("select").style.display = "";}}
function GetXmlHttpObject()
{if (window.XMLHttpRequest)
{return new XMLHttpRequest();}
if (window.ActiveXObject)
{return new ActiveXObject("Microsoft.XMLHTTP");}
return null;}
nie wiem jak Ty przechowujesz modele i marki ale ja mam to w pliku XML
a plik show_models.php wygląda tak:
<?php
if ($_GET['selectID'])
{$w = TRUE;} else {$w=FALSE;}
if($_GET['N-4_marka'])
{
$xml = simplexml_load_file(GLOWNY.'data.xml');
echo '<select name="N-6_model" style="width:152px"onchange="(this.value)">'; $result = $xml->xpath('/*/osobowe/marka[@id='.$_GET['N-4_marka'].']');
foreach($result[0] as $key => $value)
{ if ($w = TRUE)
{if ($_GET['selectID'] == $value['id'])
{$h= 'selected';} else {$h=NULL;}}
echo '<option value="'.$value['id'].'" '.$h.'>'.$value['name'].'</option>';} }
?>
A to dodajesz tam gdzie chcesz mieć dynamiczne pole select
dodatkowo ma taką ciekawą opcję, że jeśli przypiszesz dla
$_SESSION['offer'][$_offerID]['add']['mark'] numer marki to ją automatycznie ci zaznaczy identycznie masz z modelem
$_SESSION['offer'][$_offerID]['add']['model'] działa idealnie
//@@MARKA
echo '<td><select name="N-6_marka" onchange="showList(this.value)" style="width:152px" >'; $result = $_mark ->xpath('/*/osobowe/*');
foreach($result as $key => $value)
{if ($_SESSION['offer'][$_offerID]['add']['mark'] == $value['id'])
{$h=$select;
echo '<script type="text/javascript"> showList('.$value['id'].', '.$_SESSION['offer'][$_offerID]['add']['model'].');</script>';
} else {$h=null;}
echo '<option value="'.$value['id'].'" '.$h.'>'.$value['name'].'</option>';} //@@MODEL
echo '<td><select id="hidden_select" name="N-6_model" style="width:152px" onchange="(this.value)"> <option value="0">'.$_Lang->search->all.'</option></select><div id="select" style="display: none"></div>
</select><div id="select" style="display: none; margin: 0px; width:100%; padding: 0px; border: 0px;"></div></td>';
w razie pytań pisz