尝试使用ajax </select>将文本放入<select>

时间:2013-01-26 18:58:55

标签: php html ajax

所以我试图使用id在<select>中放置ajax请求的GET,但它不起作用。但是,当我使用例如<p>的id或<option>或其他任何内容时,它确实可以正常工作并输出我想要的内容。

这是我的Ajax脚本

    <script>
    function showUser(str)
    {
    if (str=="")
      {
      document.getElementById("brand").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("brand").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","inc/parts_form2.php?q="+str,true);
    xmlhttp.send();
    }

这是表单的一部分

Year: 
<select onchange="showUser(this.value)">

%年%              
    品牌:

<select id="brand">

</select>

这是我的php

<?php
$q = $_GET['q'];
echo $q;
?>

我想在<select id="brand"></select>中获取输出。我在源代码中检查它是否有效。

2 个答案:

答案 0 :(得分:3)

您需要将选项标记中的内容放在select标记内。

"<option>"+xmlhttp.responseText+"</option">;

或在php中:

$d = "<option>".$_GET['q']."</option">;

答案 1 :(得分:0)

响应文本是否未传入onreadystatechange回调?

xmlhttp.onreadystatechange = function (response){

// insert your method body here

}