+ -
当前位置:首页 → 问答吧 → 请问如何用ajax,把php服务器执行完的内容写入到select标签内

请问如何用ajax,把php服务器执行完的内容写入到select标签内

时间:2010-10-13

来源:互联网

我使用ajax,已经知道如何把php执行完的的数据返回到原来的发送页,但是只知道写入div标签,而希望写入select添加更多的option时却显示不正确。
部分代码如下:

php查询数据页代码:

<?php
include_once('global.php');

$sql="SELECT * FROM `user` WHERE `group`='$_GET[q]'";
$query=mysql_query($sql);

while($row=mysql_fetch_array($query)){
    echo "<option value='".$row[u_id]."' >".$row[cn_name]."</option><br />";
    }
?>

以上代码生成一系统的option选项,然后返回原来的发送页:

<script type="text/javascript">

var xmlHttp

function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("您的浏览器不支持AJAX!");
  return;
  }
var url="ajaxphp.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;

}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
</script>

<select name='' id="txtHint" multiple > </select>

采用以上方式没有办法传回数据

但我使用 <div id="txtHint"> </div> 这样的写法可以传回文字,但却不是我想要的下拉列表选项。请问像这样的需要返回option项该如何写?

作者: freeqiong   发布时间: 2010-10-13

document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
 innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。
我以前都是用JQuery 直接 html();就能写进去。
应该是你写入形式不对,在找找看

作者: lbc227540   发布时间: 2010-10-13

responseText返回的是字符串,你可以用responseXml就可以啦

作者: 崔吉臻   发布时间: 2010-10-13