可以啊,给文本框加onclick事件,让select显示,在给select控件添加onchange事件,让其隐藏并把值赋予文本框。
<script>
   function fun_1(){
       document.getElementById("sel_div").style.display="";
   }
   function fun_2(v){
       document.getElementById("txt_1").value=v;
       document.getElementById("sel_div").style.display="none";
   }
</script><input type="text" id="txt_1" onclick="fun_1()"/>
<div id="sel_div" style="display:none">
    <select onchange="fun_2(this.value)">
        <option value="A">A<option>
        <option value="B">B<option>
        <option value="C">C<option>
    </select>
</div>

解决方案 »

  1.   

    <html>
    <head>
    </head>
    <body>
    <input type="text" id="txt">
    <ul id="ca" style="display:none">
    <li>a</li><li>b</li><li>c</li><li>d</li><li>e</li><li>f</li>
    </ul>
    </body>
    </html>
    <script>
    var oIpu=document.getElementById("txt");
    var oUl=document.getElementById("ca");
    oIpu.onclick=function(){oUl.style.display="block";}
    var oLi=oUl.getElementsByTagName("li");
    for(var i=0;i<oLi.length;i++){
    oLi[i].onclick=function(){
    document.getElementById("txt").value=this.firstChild.nodeValue;
    oUl.style.display="none";
    };
    }</script>