纯js的<input  type="text"   id="select"  style="width: 82px;"><div id='list'>
<ul>  
<li><a href="#" >产品1</a> </li> 
<li><a href="#" >产品2</a> </li> 
</ul>
</div>在select中按下键时跳到list列表中选择一项,回车,数据填到select中。现在问题是一直没太想明白怎么在list上移动的问题。

解决方案 »

  1.   

    给你个JQ,看看对你有没有帮助<script>
    function EndterToList(val)
    {
    if (event.keyCode==13)
    {
    $("#list ul").append("<li><a href=''>"+val+"</a></li>")
    };
    }</script>
     <body><input type="text" id="select" style="width: 82px;" onkeydown="EndterToList(this.value)">
    <div id='list'>
    <ul>   
    <li><a href="#" >产品1</a> </li>  
    <li><a href="#" >产品2</a> </li>  
    </ul>
    </div>
     </body>
      

  2.   

    移动效果,就是在LI上加上鼠标事件,onmouseover="this.style.color=red" onmouseout="this.style.color=black"
    点击选择值,好像楼主已经实现了,就不说了.
      

  3.   

    现在问题是一直没太想明白怎么在list上移动的问题。
    ----------------------检测event,keyCode  37 上 39 下
      

  4.   

    jq的例子我在网上找了一下,主要是要纯js实现的
      

  5.   

    我上面都说过了,利用样式的变化,表明移动的效果。而其数据,可以利用计数器变量来存索引值或直接就存当前LIST的对应显示值,也可以在要取值时检测样式,取活跃样式对应的数据。
      

  6.   

    你把ul换成select,给select.selectedIndex赋值就可以改变被选中的项
      

  7.   

    如果用ul做,只能在键入的时候修改匹配的li元素的背景色等css样式来模拟被选择