我有這樣的HTML代碼下拉列表。如何在php中使用ajax響應文本動態地在選擇標籤內部創建選項?
<select id="province" onchange="get_twn()">
<option value="western">Western</option>
<option value="southern">Southern</option>
</select>
<select id="towns" name="towns">
</select>
這是我的ajax代碼get_twn
。
function get_twn(){
var e = document.getElementById('province');
var val = e.options[e.selectedIndex].value;
var xmlhttp;
alert('i came');
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//window.location.assign("login.php");
var val = xmlhttp.responseText;
var selectList = document.getElementById('towns');
var option = document.createElement('option');
option.value = val;
option.text = val;
selectList.appendChild(option);
}
}
xmlhttp.open("POST","test.php?a="+val,true);
xmlhttp.send();
}
這是php代碼test.php
。
if(isset($_REQUEST["a"])){
$result = $dba->get_twn($_REQUEST["a"]);
while($row = mysql_fetch_array($result))
{
$val = $row['name'];
echo $val;
}
}
此代碼運行良好,但沒有什麼錯誤。當這段代碼執行時,它會創建選項標籤,但所有值相互結合,並只創建一個選項標籤。就像這樣。 但它應該看起來像這樣。
你有它完全地錯了。 – Legionar
@Legionar錯了?它是什麼? – Harshana
檢查出來;-) – Legionar