<select id="s">
<option>a</option>
<option>b</option>
<option>c</option>
</select>
<input id="i"><input type="button" onclick="c()" value="改变">
<script>
so = document.getElementById("s");
io = document.getElementById("i");
function c()
{
for(co=0;co<so.length;co++)
{
if(so.options[co].text==io.value) so.selectedIndex=co;
}
}
</script>

解决方案 »

  1.   

    <html>
    <head>
    <script language="javascript">
    function selectChange()
    {
    document.all.text.value = document.all.select.value;
    }
    </script>
    </head>
    <body>
    <div>
    <select id='select' style="position:absolute;width:150px;clip: rect(0 180 110 130)" onchange="selectChange()">
    <option value='1'> 1 </option>
    <option value='2'> 2 </option>
    <option value='3'> 3 </option>
    <option value='4'> 4 </option>
    </select>
    <input type='text' id='text'style="position:absolute;width:150px;" value="1" onfocus="this.value='';document.all.select.value='';">
    </div>
    </body>
    </html>
      

  2.   

    wasuka(打孔的巫毒人偶) 给的好像不符合我的问题?adverse(King)的符合我的问题,但是为什么在直接输入值的时候
    用alert(document.all.select.value)不能取得正确的值?
      

  3.   

    值放到了document.all.text.value 里面,取的时候取那个input的值。
      

  4.   

    如果想修改select框的大小该该什么地方。我把style="position:absolute;width:150px;clip: rect(0 180 110 130)" 中的width值和rect中的值任意修改一个,就只有select能用,text就被覆盖了。
      

  5.   

    俺把width的值改成了300px,然后把rect里的值改成(0 330,260,280)以后就实现了要求了,但是不知道为啥这样改,全是试出来的:=(