Just nu i M3-nätverket
Gå till innehåll

Selectbox chain uppdateras bara en gång


icezapp

Rekommendera Poster

Hej, Jag föröker få värden i "selectbox1" att generera nya värden i en annan "selectbox2" beroende på vad man valt i "selectbox1".

 

Ungefär såhär: http://www.w3schools.com/php/php_ajax_database.asp

 

Jag får det nästan att funka. När man väljer ett värde i select1 så skapas nya värden i select2.

Problemet: Väljer man sedan ett nytt värde i select1 så uppdateras inte select2 med nya värden.

hur löser jag detta ?

 

koden i "get_info.php" som genererar den nya selectboxen funkar som den ska.

 

<script>

function district(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
} 
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
	if (xmlhttp.readyState==4 && xmlhttp.status==200)
	{
		document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
	}
}
xmlhttp.open("GET","get_info.php?q="+str,true);
xmlhttp.send();
}
</script>

</head>

<body>
<h1>Chained Select Test</h1>

<br /><br />

<form>
<select name="country" onchange="district(this.value)">
<option value="">Välj land</option>
<?php
$db=mysql_connect("*", "*", "*"); 
if (!$db)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("alltomboule_se", $db);

$sql_swe="SELECT country_swe FROM mmdb_location GROUP BY country_swe";
$result = mysql_query($sql_swe);

while($row = mysql_fetch_array($result))
{
echo '<option value="' . $row['country_swe'] . '">' . $row['country_swe'] . '</option>'."\n";
}
mysql_close($db);
?>
</select>
<table>
<tr>
<div id="txtHint"></div>
</form>

Länk till kommentar
Dela på andra webbplatser

Om du använder Chrome Console, fungerar requesten, dvs browsern får ett giltligt svar och resultatet är som förväntat?

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...