<select name="select" onchange="aa()" id="select">
<option value="0">呵呵</option>
<option value="1">哈哈</option>
<option value="2">嘿嘿</option>
<option value="3">等等</option>
<option value="50">试试</option>
<option value="30">测试</option>
<option value="35">感觉</option>
  </select>
  <input name="ttt" type="button" id="ttt" onclick="xx()" />
<script language="javascript">
function aa()
{
 var tt=document.getElementById("select").value;
 alert(tt);
}
function xx()
{
document.getElementById("select").options[3].selected = true; //这个单击按钮时select的选定项是”等等“}
document.getElementById("select").options[30].selected = true; //这个单击按钮时出错  提示错误:document.getElementById(……).options30为空或者不是对象!
</script>
有没有办法解决啊!value是数据库值而且不是按顺序排列,像这种情况我应该怎么解决啊!求高人帮助,谢谢!

解决方案 »

  1.   

    要么自己在查询数据的时候 order by 一下;你这情况,你是想要实现多选吗??
    <input name="ttt" type="button" id="ttt" onclick="xx()" />
    这个按钮的点击时激发的方法,我看得不是太明白。
      

  2.   

    我不要多选 就是想根据options[参数]这个参数的值来改变select项的选定项即selected,
    单击按钮就是触发document.getElementById("select").options[3].selected = true; 
    查找select项option value=“3”的那一项的selected=true,被选定。
      

  3.   

    options[30]
    这里类似于数组操作,[]中指定的是数字索引,表示访问的是一堆option标签中的第几个,你写的30就是访问第31个option(数组索引从0开始标记)。
      

  4.   

    <select name="select" onchange="aa()" id="select">
    <option value="0">呵呵</option>
    <option value="1">哈哈</option>
    <option value="2">嘿嘿</option>
    <option value="3">等等</option>
    <option value="50">试试</option>
    <option value="30">测试</option>
    <option value="35">感觉</option>
      </select>
      <input name="ttt" type="button" id="ttt" onclick="xx()" />
    <script language="javascript">
    function aa()
    {
     var tt=document.getElementById("select").value;
     alert(tt);
    }
    function xx()
    {
    var kk = document.getElementById("select").options;
    for (var i=0; i<kk.length; i++) {
    if (kk[i].value==30) {
    kk[i].selected=true;
    break;
    }
    }
    }
    </script>
      

  5.   

    var opts = document.getElementById("select").getElementsByTagName("option");
    for (var i=0; i<opts.length; i++){
      if (opts[i].value==30){
        opts[i].selected=true;
      }
    }
      

  6.   

    根据你的需求,可以这样写:
    function xx(val) {
        var obj = document.getElementById('select').getElementsByTagName('option');
        for (var i = 0; i < obj.length; i ++) {
            if (obj[i].value == val) obj[i].selected = true;
            break;
        }
    }
      

  7.   

    document.getElementById('select').options[document.getElementById('select').selectedIndex].text;
    直接获得选中option
      

  8.   

    var s = document.getElementById("select").options;
    for(i=0;i<s.length;i++)
    {
     if(s[i].value=="30") s[i].selected=true
    }
      

  9.   

    document.getElementById("select").options[30]
    中的30不是value的值,而是第31个option的意思,你没有那么多option,所以报告错误的
      

  10.   

    我觉得用 jquery 就很方便实现了