我有一个下拉菜单、
<select name="course">
<option value="1">1</option>
<option value="1">1</option>
</select>当这个下拉菜单选择了某个值以后,在另外一个下拉菜单自动生成想对应的值。比如选择了课程(course)1,则在时间(time)的下拉菜单中显示出该课程的时间(多个用foreach遍历传过来的数组$data['time'])<select name="time">
<option value="1">2</option>//value的值可以返回但是我不知道这里的 2 要怎么做出来?或者说这种思路不对?
</select>
ajax代码如下:
function move(value)
 {
 var xmlHttp;
 var course="course="+value;try
    {
   // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
 catch (e)
    {  // Internet Explorer
   try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
   catch (e)
      {      try
         {
         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
      catch (e)
         {
         alert("您的浏览器不支持AJAX!");
         return false;
         }
      }
    }

    xmlHttp.open("POST","../../../systemfilter/Return.php",true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
xmlHttp.onreadystatechange=function()
      {
      if(xmlHttp.readyState==4)
        {
         document.form1.time.value=xmlHttp.responseText;
  }
      }    xmlHttp.send(course);
 }
</script>  后台Return.php是一个sql查询语句 $sql=mysql_query("select time from exam_course where course='".$_POST['course']."'");
   $data=mysql_fetch_array($sql);

解决方案 »

  1.   

    我做过一个类似的,我改了一下,你自己再改一下试试<script type="text/javascript">
    $(function(){
      $('#course').change(function(){
       var url=time.php';
       var date='ac=change&val='+$(this).val();
       $.post(url,date,function(date){
           $('#menu').html(date);
       })
     })
    })  
    </script>
    <select name="course" id="course">
    <option value="1">1</option>
    <option value="2">2</option>
    </select><div id="menu">
    <select name="time" id="time">
    <option value="">==请选择时间==</option>
    </select>
    </div>然后在time.phpif(isset($_POST['ac']) && $_POST['ac']=='change'){
      $val=$_POST['id'];
      $sql="select * from `time` where `value`=".$val;
      $res=$db->getAll($sql);
         echo "<select name=\"time\" id=\"time\">\n<option value=''>==请选择二级分类==</option>";
      foreach($res as $k=>$v){
              echo "<option value=".$v['id'].">".$v['time']."</option>";  }
     echo "</select>";
     
    }
      

  2.   

    参考我这篇日志http://hi.baidu.com/jcifox/blog/item/1babb2a1490b0b99471064bc.html有详细解答。