<select name="select" id="select">
      <option value="0">北京</option>
      <option value="1">天津</option>
      <option value="2">上海</option>
      <option value="3">重庆</option>
</select>现在需要这样做,要求能在下拉列表中输入一个字母(这个字母是某个选择项的首字母),然后下拉列表自动显示那个选择项。比如输入“BJ”,则下拉列表显示的是“北京”这一项,输入“TJ”,则下拉列表显示的是“天津”这一项。求大神帮忙解决这个问题,请告诉我思路或者贴段代码,再次拜谢了。

解决方案 »

  1.   

    输入字母没搞,js没有获取中文拼音的方法,你得将北京添加拼音简写<select name="select" id="select">
    <option value="0">BJ北京</option>
    <option value="1">TJ天津</option>
    <option value="2">SH上海</option>
    <option value="3">CQ重庆</option> </select>然后可以结合select对象option的autocomplete自动完成这个来实现自动下拉
      

  2.   

    这个是个方法,但是这样的option是随时可以变化的,因为用户可以在后台增加option。总觉得在中文前面加字母不好,有没有更好的办法呢?
      

  3.   

    楼主,您可以把中文对应的字母赋值给option的title属性
      

  4.   

    还有问题想请教一下,比如用户想选择“北京”,那么那想输入“BJ”或者“beijing”都能找到“北京”,请问这个有没有好的实现方式?谢谢
      

  5.   

    <option value='0' title='BJ#beijing'>北京</option>
    title的分隔符您可以自己定,不一定要用#
      

  6.   

    <option id=bj> 北京
    <option id=sh> 上海
    <option id=hn> 河南
    <option id=cq> 重庆
    function chek(){
    var textValue=document.getelementbyID('textid').value;
    document.getElementByid('textValue').checked='true' 或者checked;
    }