征求用最简单方法实现可以编辑、可以自动定位、可以拼音码感应、可以选择的下拉框(DropDownList 或 Select),具体情况看内
可以编辑:就是可以输入内容;  
 
可以自动定位:就是当我输入“张”时,下面的下拉框要展开并且显示只显示第一个字为“张”的所有人员;当我在输入“张三”是,下面的下拉框要展开并且显示只显示前两个字为“张三”的所有人员;  
 
可以拼音码感应:就是当我输入“y"时,下面的下拉框要展开并且显示第一个字的拼音为"y"的所有人员的名字;同上面的自动定位,只是一个输入的是”文字“,一个是”拼音码“  
 
可以选择:就是下拉框的正常功能;  
 
代码如下:  
 
<HTML>  
   <HEAD>  
       <TITLE></TITLE>  
   </HEAD>  
   <body  MS_POSITIONING="GridLayout"  onload="comboBox()">  
       <form  id="Form1"  method="post"  runat="server">  
   <FONT  face="宋体">  
       <SELECT  id="mySelect"  style="Z-INDEX:  101;  LEFT:  8px;  WIDTH:  432px;  POSITION:  absolute;  TOP:  8px"  
   name="mySelect"  runat="server">  
   <OPTION  selected></OPTION>  
   <option  value="ycy_1">俞传尧</option>  
   <option  value="clq_2">陈丽群</option>  
   <option  value="csl_3">蔡松林</option>  
   <option  value="lyq_4">梁亦秋</option>  
   <option  value="wgy_5">王光远</option>  
   <option  value="zzs_6">张子枢</option>  
   <option  value="ckc_7">陈课程</option>  
   <option  value="lqm_8">林秋美</option>  
   <option  value="jys_9">江永森</option>  
   <option  value="lxx_10">林孝祥</option>  
   <option  value="wcz_11">王成章</option>  
   <option  value="wh_12">韦红</option>  
   <option  value="fm_13">傅明</option>  
   <option  value="slm_14">石丽敏</option>  
   <option  value="cxb_15">池晓勃</option>  
   <option  value="cmy_16">陈敏瑜</option>  
   <option  value="wkc_17">吴克昌</option>  
   <option  value="lmq_18">卢明琪</option>  
   <option  value="yj_19">杨隽</option>  
   <option  value="hqq_20">胡青青</option>  
   <option  value="lax_21">梁爱鲜</option>  
   <option  value="zlp_22">郑若鹏</option>  
   <option  value="cjf_23">陈樵峰</option>  
   <option  value="wjh_24">王金伙</option>  
   <option  value="cds_25">常德深</option>  
   <option  value="ly_26">刘钰</option>  
   <option  value="ljc_27">林建苍</option>  
   <option  value="sb_28">宋波</option>  
   <option  value="zzk_29">张祖康</option>  
   <option  value="lgz_30">赖国专</option>  
   <option  value="hys_31">黄雅椒</option>  
   <option  value="hsr_32">黄圣荣</option>  
   <option  value="xkx_33">许开醒</option>  
   <option  value="ydj_34">于东江</option>  
   <option  value="csm_35">陈生美</option>  
   <option  value="ljm_36">李建民</option>  
   <option  value="wgx_37">武国秀</option>  
   <option  value="wcs_38">王常松</option>  
   <option  value="sys_39">沈阳生</option>  
   <option  value="ltt_40">刘通途</option>  
   <option  value="czg_41">陈宗光</option>  
   <option  value="zm_42">张敏</option>  
   <option  value="yal_43">姚爱兰</option>  
   <option  value="mjy_44">茅金焰</option>  
   <option  value="xkf_45">许克付</option>  
   <option  value="zkm_46">郑抗美</option>  
   <option  value="hzc_47">黄增长</option>  
   <option  value="czq_48">陈自强</option>  
   <option  value="cjr_49">陈建荣</option>  
   <option  value="hzx_50">冯振秀</option>  
       </SELECT>
</FONT>  
       </form>  
   </body>  
</HTML>  
 
各位朋友,分数不是问题,我要的是一个满意的答案!如果问题得到了完美解决,你要多少分,我另外开帖给。  
 
E-Mail:[email protected]  
 
MSN:[email protected]  
 
其实,上面的功能我用JavaScript已经大部分实现,就还有一个”拼音码感应了“。如果解决了,大家留下一个信箱,或者我会上传到一个地方让大家下载!!!! 
解释一点:在option  中的value  =    "ycy_1  ",ycy是拼音码,1是自动编号

解决方案 »

  1.   

    看看这里
    http://community.csdn.net/Expert/topic/3813/3813389.xml?temp=.4019739
    http://blog.csdn.net/muse2008/archive/2004/11/30/199604.aspx
      

  2.   


      1、可以编辑:正常的select一般是不可以输入内容的,不过可以使用障眼法,使用文本框+下拉框的形式,文本框放到层上,覆盖掉下下拉框中的文本框。文本框和下拉框使用JavaScript代码进行实时同步更新。我曾用这种方法实现了文件域的动态赋值。
      
      2、可以自动定位:使用JavaScript写一个函数,当用户按键并且文本框输入的值改变时,则对下拉框里的选项执行搜索,找到则设为下拉框的索引,并触发单击事件以显示列表。  3、拼音码感应:使用拼音码的话,我想对下拉框的排序有要求,在生成数据前应该是按拼音字母排序的,不然感应后如果不重新排序的话,不太可能显示所有这个拼音的选项。实现感应该的方法我想应该是把中文转换成拼音的形式,然后再执行搜索定位至于中文如何转换成拼音,由于没研究过,不太清楚,你可以去网上搜索下这方面的资料。
      
      4、可以选择:使用文本框+下拉框的组合话,下拉框本身就有选择项能了要达到下拉框的一样的目的,只要在下拉框的值改变时,把相应的值赋给文本就行了。这样看起来就像一个下拉框一样。
      

  3.   

    不好意思,刚才没注意看你的选项值.如果是后台负责输入数据的话,可以考虑手工输入感应码,加拼音感应字段值,如 姓名:俞传尧 拼音感应码:ycy ; 再动态生成....这样的话实现拼间感应时只要搜索对应的Value值即可以了.
      

  4.   

    eyunfei(云飞) (:可以帮我设计一个吗?
      

  5.   

    //以访问数据库Northwind的Products表的ProductName字段为例
    //在顶部添加:
    using System.Data.SqlClient;//设置comboBox1的DropDownStyle为Simple//将textBox1调整到和comboBox1上部一样大,放在comboBox1上部//添加如下代码:
    private void textBox1_TextChanged_1(object sender, System.EventArgs e)
    {
    comboBox1.Items.Clear ();
    comboBox1.SelectionStart =textBox1.Text .Length ; int itemTotal=0;//共有多少条记录
    sqlConn = new SqlConnection ("server=数据库服务器名;database=northwind;uid=sa;pwd="); sqlConn.Open(); sqlCmd = new SqlCommand("SELECT productname FROM products where left(productname,"+textBox1.Text .Length .ToString ()+") ='"+textBox1.Text +"'",sqlConn);
    ////////////////////填充comboBox1(开始)/////////////////////////////////
    sqlDataReader=sqlCmd.ExecuteReader ();
    for(int i=0;;i++)
    {
    if(sqlDataReader.Read ()==false)
    break;
    else
    {
    if(i==0)
    {
    item[0]=sqlDataReader.GetValue (0).ToString ();
    itemTotal++;
    }
    else
    {
    if(sqlDataReader.GetValue (0).ToString ()!=item[itemTotal-1])
    {
    itemTotal++;
    item[itemTotal-1]=sqlDataReader.GetValue (0).ToString ();
    }
    }
    }
    }
    for(int i=1;i<=itemTotal;i++)
    comboBox1.Items.AddRange(new object[] {item[i-1]});
    ////////////////////填充comboBox1(结束)/////////////////////////////////
    } private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    textBox1.Text =comboBox1.Text ;
    }
      

  6.   

    我没用WEB做过,不过我用Winform做过几次我可以肯定的告诉你,你这个方法一定会失败,原因限制于拼音库的大小如果你想支持拼音,并且这一切都是在前台完成,OK,能实现,可你这个页面至少有200K~300K如果你需要实现 :张三 ,ZS这样,你将使用更多的页面大小值得吗?
      

  7.   

    我没用WEB做过,不过我用Winform做过几次...厉害,能谈谈么?
      

  8.   

    这在Winform里是很基础的编程我们会吧 拼音表 放在数组中遍历,并通过不同的算法对应到Combobox 或 ListBox的对应记录上事实上很简单拼音表的格式是这样的拼音 汉字或拼音 词组所以,如果你输入ZS那么我将搜ZS,没有搜到,那么我开始搜Z,然后搜S,最后得到 张三