hehe, lodestar51(天堂或地狱),谢谢你昂

解决方案 »

  1.   

    难道 html中就是 不能实现吗?
      

  2.   

    可以实现,两个办法:
    1.用javascript的层,一个textbox叠加一个select就可以实现
    2.用flash,actionScript
      

  3.   

    谢谢,flyspider(飞天蜘蛛) ,又没有详细的资料啊?呵呵,谢谢,^_^
    谢谢,zyb1235(翟) 关注!呵呵
      

  4.   

    算了吧,不要在html中实现这种功能,会让你很痛苦的,没必要,一定有其他解决方案的
      

  5.   

    可是俺用的jsp作的网页,要实现这样的功能,不知道该用什么解决方案。哎!
      

  6.   

    通过javascript来实现,很容易的
      

  7.   

    <html>
    <head>
    <style>
    <!--
    .cls1 { position:absolute; left:250px; top:89px; width:216px; height:72px; z-index:1; }
    .cls2 { position:absolute; left:250px; top:89px; width:95px; height:18px; z-index:2 }
    input { font-size: 12px; padding-top: 2px; padding-left: 2px;width:127;}
    //-->
    </style>
    </head>
    <script>
    <!--
    function addOption(pos){ if(event.keyCode==13)
     {
      var select_obj = document.getElementById("myselect");
      var text_value   = document.getElementById("test").value;  if (select_obj.length)
      {
       for (var i=0;i<select_obj.length;i++)
       {
        // 如果已经存在,不添加,直接退出
        if (select_obj.options[i].text==text_value)
         alert("选项已存在,请重新输入");
       }
      }
      var the_option= new Option(text_value,text_value);
      
      select_obj.add(the_option);  select_obj.selectedIndex = select_obj.options.length-1
     }  
     
    }
    //-->
    </script>
    <div class="cls1" style="clip: rect(3 280 21 110)"> 
      <select name="myselect" style="width:127" onchange="document.getElementById('test').value=this.value">
      </select>
    </div>
    <div class="cls2">
    <input type="text" name="test" onkeydown="addOption()" size="20" style="width: 127; height: 23">
    </div></body>
    </html>
      

  8.   

    下载后可直接用:http://joe.2418.com/programme/html/inputAndDrop.rar
    http://community.csdn.net/Expert/topic/3111/3111421.xml?temp=.5435297
      

  9.   

    谢谢,awaysrain(绝对零度)(新的一年,新的开始) ,谢谢你,可是你给的例子中,选中的option
    显示它的value,而不是text得值
     kui(kui) 谢谢你的关注,例子功能很好,可是俺把它放在form中,层的显示就乱了另外,我想实现可以编辑的下拉列表框,目的,就是除了可以选择的项外,还可以自己输入相关项的内容,比如专业,已经有11项了,而我的专业不能归于任何一个,就自己输入一项,保存
      

  10.   

    awaysrain(绝对零度)(新的一年,新的开始) ?我想问一下,知道下拉列表框的位置怎样才能改变吗?这个好象是absolute
    所以就固定到一个位置,怎样才能部署到一个table或form 中
      

  11.   

    html是不能完全实现这个的, 各种实现方法都有这样那样的问题. 还是考虑采用其它表示方法吧, 没必要在一棵树上吊死的.
      

  12.   

    在htm中可编辑的下拉列表框都是用模拟来实现的,你去javascript版去搜索一下吧,看看有没有比较好的解决方法
      

  13.   

    作了如下修改,可是不知道怎样将下拉列表框,放在一个table中(位置随table的变化而变化),而不是一个固定的位置
    <html>
    <head>
    <style>
    <!--
    .cls1 { position:absolute; left:250px; top:89px; width:216px; height:72px; z-index:1; }
    .cls2 { position:absolute; left:250px; top:89px; width:95px; height:18px; z-index:2 }
    input { font-size: 12px; padding-top: 2px; padding-left: 2px;width:127;}
    //-->
    </style>
    </head>
    <script>
    <!--
    function addOption(pos){ if(event.keyCode==13)
     {
      var select_obj = document.getElementById("myselect");
      var text_value   = document.getElementById("test").value;  if (select_obj.length)
      {
       for (var i=0;i<select_obj.length;i++)
       {
        // 如果已经存在,不添加,直接退出
        if (select_obj.options[i].text==text_value)
         alert("选项已存在,请重新输入");
       }
      }
      var the_option= new Option(text_value,text_value);
      
      select_obj.add(the_option);  select_obj.selectedIndex = select_obj.options.length-1
     }  
     
    }
    //-->
    </script>
    <form name="form1" method="post" action="k.jsp">
    <div class="cls1" style="clip: rect(3 280 21 110)"> 
      <select name="myselect" style="width:127" onchange="document.getElementById('test').value=this.value">
      <option value="ln">ln</option>
      <option value="lk">lk</option>
      </select>
    </div>
    <div class="cls2">
    <input type="text" name="test" onkeydown="addOption()" size="20" style="width: 127; height: 23">
    </div>
    <input type="submit" value="提交">
    </body>
    </html>
      

  14.   

    作了如下修改,可是不知道怎样将下拉列表框,放在一个table中(位置随table的变化而变化),而不是一个固定的位置
    <html>
    <head>
    <style>
    <!--
    .cls1 { position:absolute; left:250px; top:89px; width:216px; height:72px; z-index:1; }
    .cls2 { position:absolute; left:250px; top:89px; width:95px; height:18px; z-index:2 }
    input { font-size: 12px; padding-top: 2px; padding-left: 2px;width:127;}
    //-->
    </style>
    </head>
    <script>
    <!--
    function addOption(pos){ if(event.keyCode==13)
     {
      var select_obj = document.getElementById("myselect");
      var text_value   = document.getElementById("test").value;  if (select_obj.length)
      {
       for (var i=0;i<select_obj.length;i++)
       {
        // 如果已经存在,不添加,直接退出
        if (select_obj.options[i].text==text_value)
         alert("选项已存在,请重新输入");
       }
      }
      var the_option= new Option(text_value,text_value);
      
      select_obj.add(the_option);  select_obj.selectedIndex = select_obj.options.length-1
     }  
     
    }
    //-->
    </script>
    <form name="form1" method="post" action="k.jsp">
    <div class="cls1" style="clip: rect(3 280 21 110)"> 
      <select name="myselect" style="width:127" onchange="document.getElementById('test').value=this.value">
      <option value="ln">ln</option>
      <option value="lk">lk</option>
      </select>
    </div>
    <div class="cls2">
    <input type="text" name="test" onkeydown="addOption()" size="20" style="width: 127; height: 23">
    </div>
    <input type="submit" value="提交">
    </body>
    </html>
      

  15.   

    hehe,大家有没有一个例子让俺学习学习阿
     俺还是没有搞明白
     没有改造出一个可以选择的下拉列表框,如果下拉列表框中没有相关选项,又可以自己输入的那种下拉列表框
    此下拉列表框可以放在form中,可以保存(或选择或输入的)值
      

  16.   


    下面的ceshi.jsp基本能实现可选可输入的功能,缺点是下拉列表框位置固定不变,请问如何改正,才能让下拉列表框的位置 随着所在table的位置的变化 而变化。
    文件名称 ceshi.jsp
    <%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" %>
    <html>
    <head>
    <style>
    <!--
    .cls1 { position:absolute; left:250px; top:89px; width:216px; height:72px; z-index:1; }
    .cls2 { position:absolute; left:250px; top:89px; width:95px; height:18px; z-index:2 }
    input { font-size: 12px; padding-top: 2px; padding-left: 2px;width:127;}
    //-->
    </style>
    </head>
    <script>
    <!--
    function addOption(pos){ if(event.keyCode==13)
     {
      var select_obj = document.getElementById("myselect");
      var text_value   = document.getElementById("test").value;  if (select_obj.length)
      {
       for (var i=0;i<select_obj.length;i++)
       {
        // 如果已经存在,不添加,直接退出
        if (select_obj.options[i].text==text_value)
         alert("选项已存在,请重新输入");
       }
      }
      var the_option= new Option(text_value,text_value);
      
      select_obj.add(the_option);  select_obj.selectedIndex = select_obj.options.length-1
     }  
     
    }function kk(){
      document.getElementById('test2').value=document.getElementById("myselect").selectedIndex.value
     
       }
    //-->
    </script>
    <form name="form1" method="post" action="ceshi.jsp">
    <table>
    <%=getC(request.getParameter("test2"))%>
    <tr>
    <td>
    <div class="cls1" style="clip: rect(3 280 21 110)" > 
      <select name="myselect" style="width:127" onchange="document.getElementById('test2').value=this.value">
       <option  >晴选择</option>
      <option  value="ln">ln</option>
      <option  value="lk">lk</option>
      </select>
    </div>
    <div class="cls2"><input type="text" name="test2" onkeydown="addOption()" size="20" style="width: 127; height: 23">
    </div>
    </td>
    </tr>
    <tr>
    </td>
    <input type="submit" value="提交">
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  17.   

    小弟的實現方法是,在下拉列框中添加一個選項(例如:"..."或者"手工輸入"),當用戶選擇該項時(用onchange進行判斷),彈出一個prompt窗口供用戶輸入資料,點擊prompt窗口確定後將用戶在prompt中手工輸入的字段添加到下拉列框中,雖然這樣有點麻煩,但也湊和著用吧,當然,如果你用的是JSP頁面的話,可以對用戶手工輸入的字段進行過濾和判斷相關主要代碼:
    var promptValue = window.prompt("請輸入:","");
    if(promptValue != ""){
    var oOption = document.createElement("OPTION");
    oOption.text = promptValue;
    oOption.value = promptValue;
    document.all.sel.add(oOption,0);
    form.sel.selectedIndex=0;
    }