Как создать параметр внутри тега select динамически с текстом ответа ajax в php?

У меня есть html-код, как это для выпадающего списка.

<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; } } 

Этот код работает хорошо, но есть небольшая ошибка. Когда этот код будет выполнен, он создаст тег опции, но все значения будут объединены друг с другом и создадут только один тег параметра. проблема Однако это должно выглядеть так. введите описание изображения здесь