后面的改成这个
<script>document.edform.psex.options[2].selected=true;</script>

解决方案 »

  1.   

    document.edform.psex.options(2).selected=true;
    注意options的下标是从0算起的你还可以这样写
    document.edform.psex.selectedIndex = 2;
      

  2.   

    明白了。
    但是因为无法判断下标值(option是从目录中选择出来的),而我希望某个值的option被选择。即:
    <select name=psex><option value=a>a</option><option value=b>b</option><option value=c>c</option></select>
    然后希望值为$var的项被选中。
      

  3.   

    你循环输出的时候就直接输出就可以了啊
    $sel = "<select name=psex>";
    foreach($options as $op )
    {
       if ($op["value"] == $var )
         $sel .= "<option value=".$op["value"]." selected>".$op["value"]."</option>";
       else
         $sel .= "<option value=".$op["value"].">".$op["value"]."</option>";
    }
    $sel .= "</select>";
    echo $sel
      

  4.   

    当然可以啦,不过你的$var总还是要传递给js的
    <script>
    function setSelected(selectname,value) {
      var s = document.all["selectname"];
      for(var i=0;i<s.length;i++)
        if(s.options[i].value == value)
          s.options[i].selected = true;
    }
    setSelected('psex','<?php echo $var; ?>');
    </script>
    注意!函数setSelected必须在列表加载以后执行,否则就会找不到对象