这是一个修改页面下拉框 <select name="project_department">
  <option value="请选择">请选择</option> 
  <option value="财务部">财务部</option> 
  <option value="办公室">办公室</option> 
  <option value="产品研发部">产品研发部</option> 
              <option value="应用开发部">应用开发部</option> 
  </select>
我想要每次打开修改页面默认的是从数据库读出来的值$project_department,但是现在每次都显示的是   “ 请选择”
请教大神们如何写?我在下面写了一个  <script type="text/javascript">
var project_department=<?=$project_department?>;
document.getElementById(project_department).value=project_department;
</script>但是这个没起到什么作用啊

解决方案 »

  1.   

    为你的select框添加 id='project_department' 
    <script type="text/javascript">
    var project_department='<?=$project_department?>';
    var sel=document.getElementById('project_department');
    for(var i=0;i<sel.options.length;i++){
           if(sel.options[i].value==project_department) this.selected=true;
    }
    </script>这样试试,其实输出时就应该控制了。
      

  2.   

    var project_department=<?=$project_department?>;
    "<??>"document.getElementById(project_department).value=project_department;
    这个是getElementById,你那个select没有id,当然取不到dom元素没实际跑,不过这两个地方肯定有问题
      

  3.   

    关于你的问题,其实是form的粘性表单使用的困惑。
    假如你使用的是post,(get的话请修改为get)
    这是一个修改页面下拉框 <select name="project_department">
    <option value="<?php  if(isset($_POST['project_department']){prit $_POST['project_department']})  ?>">请选择</option>  
    <option value="财务部">财务部</option>  
      

  4.   

    诶,我记得我回复过这个问题啊,回复被吃了么document.getElementById,必须是id对应的,你的select只有name没有id,自然取不到要么用楼上的方法,要么给select加个id
      

  5.   

    给select加个id project_departmentvar obj = document.getElementById('project_department');
    for(i=0;i<obj.length;i++)
    {
      if(obj[i].value == '<?php echo $project_department;?>')
      {
        obj[i].selected = true;
        break;
      }
    }
      

  6.   

    <option value="财务部" <?php echo '财务部'==$project_department ? 'selected' : ''; ?> >财务部</option>在每个option里面都加一个类似这样的判断输出语句试试
      

  7.   

    我有两个下拉框,其中一个下拉框可以,但是另外一个不可以为什么?在firefox和chrome中都可以完全显示但是在ie中只能显示一个