ciao a tutti, ho due select di cui la prima popola la seconda. Prendo i dati di entrambe in dinamico così che ho una serie di marche in una e i modelli corrispondenti nell'altra. Il problema stà sulla select dei modelli perchè invece che selezionarmi solo quelli della marca specificata si posiziona sul primo della lista prescelta ma nella select sono presenti tutti. Più o meno lo script mi sembra abbastanza corretto tranne che vorrei fare una select nella query con un WHERE tra le clausole e vorrei prendere il valore che mi da nell' Onchange del javascript che ho usato per le select. Posto il codice per essere più chiaro
questa è la parte delle funzioni
codice:
<script language="JavaScript" type="text/javascript">
<!--
function Aggiornamodello_scelto(unValore) {
var p = unValore.indexOf("-");
var key = unValore.substring(p+1);
for (f=0; f<document.getElementById('modello_scelto').length; f++) {
if (key==document.getElementById('modello_scelto').options[f].value) {
document.getElementById('modello_scelto').selectedIndex=f;
break;
}
}
}
function Aggiornamarca() {
document.getElementById('marca').selectedIndex=0;
this.options [this.selectedIndex].value;
<?
mysql_select_db($database_AF_Group, $AF_Group);
$query_vetture = "SELECT * FROM vettura";
$vetture = mysql_query($query_vetture, $AF_Group) or die(mysql_error());
?>
}
//-->
</script>
queste sono le due select
codice:
<select name="marca" onchange="Aggiornamodello_scelto(this.value)" class="textbox" id="marca">
<option value="1">nessuno</option>
<?php
do {
?>
<option value="<?php echo $row_marca['ID_vettura']?>"><?php echo $row_marca['marca']?></option>
<?php
} while ($row_marca = mysql_fetch_assoc($marca));
$rows = mysql_num_rows($marca);
if($rows > 0) {
mysql_data_seek($marca, 0);
$row_marca = mysql_fetch_assoc($marca);
}
?>
</select> </td>
<td><select name="modello_scelto" onchange="Aggiornamarca()" class="textbox" id="modello_scelto">
<option value="23">nessuno</option>
<?php
do {
?>
<option value="<?php echo $row_vetture['ID_vettura']?>"><?php echo $row_vetture['modello']?></option>
<?php
} while ($row_vetture = mysql_fetch_assoc($vetture));
$rows = mysql_num_rows($vetture);
if($rows > 0) {
mysql_data_seek($vetture, 0);
$row_vetture = mysql_fetch_assoc($vetture);
}
?>
</select>
forse mi basta inserire nella parte della funzione una cosa del tipo
codice:
$query_vetture = "SELECT * FROM vettura WHERE marca = 'recuperare il valore dall'onchange della select marche'";
Forse sono stato un po' disordinato nell'esposizione, comunque confido nel vostro buon cuore.