js?select支持手动输入功能实现代码

 更新时间:2023年05月16日 00:32:10   作者:小鱼娟娟  
这篇文章主要介绍了js?select支持手动输入实现代码,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

select下拉框的onkeydown事件,修改下拉框的值

  function catch_keydown(sel){
   switch(event.keyCode) {
    case 13: //回车键
     event.returnValue = false;
     break;
    case 27: //Esc键
     sel.options[sel.selectedIndex].text = oldText;
     sel.options[sel.selectedIndex].value = oldValue;
     event.returnValue = false;
     break;
    case 8:  //空格健
     var s = sel.options[sel.selectedIndex].text;
     s = s.substr(0,s.length-1);
     if (sel.options[0].value==sel.options[sel.selectedIndex].text){
      sel.options[sel.selectedIndex].value=s;
      sel.options[sel.selectedIndex].text=s;
     }
     event.returnValue = false;
     break;
   }
   if (!event.returnValue && sel.onchange)
    sel.onchange(sel)
  }

select下拉框的onkeypress事件,修改下拉框的值

  function catch_press(sel){
   if(sel.selectedIndex>=0){
    var s = sel.options[sel.selectedIndex].text + String.fromCharCode(event.keyCode);
    if (sel.options[sel.selectedIndex].value==sel.options[sel.selectedIndex].text){
     sel.options[sel.selectedIndex].value=s;
     sel.options[sel.selectedIndex].text=s;
    }
    event.returnValue = false;
    if (!event.returnValue && sel.onchange)
     sel.onchange(sel)
   }
  }

select下拉框的onfocus事件,保存下拉框原来的值

  function catch_focus(sel) {
   oldText = sel.options[sel.selectedIndex].value;
   oldValue = sel.options[sel.selectedIndex].value;
  }   

使用方法

<!--调用-->
<select style='width:130px;z-index:-1' name='tmpSel'    onkeydown=catch_keydown(this) onkeypress=catch_press(this) onfocus=catch_focus(this)>
  <option value=''></option>
  <option value=''>A</option>
  <option value=''>B</option>
  <option value=''>C</option>
</select>

到此这篇关于js select支持手动输入功能实现代码的文章就介绍到这了,更多相关js select 手动输入内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • JS加密插件CryptoJS实现的DES加密示例

    JS加密插件CryptoJS实现的DES加密示例

    这篇文章主要介绍了JS加密插件CryptoJS实现的DES加密,结合实例形式分析了javascript使用CryptoJS插件进行des加密的各种常见模式使用技巧,需要的朋友可以参考下
    2018-08-08
  • JS制作图形验证码实现代码

    JS制作图形验证码实现代码

    这篇文章主要为大家详细介绍了JS制作图形验证码实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • JavaScript格式化日期时间的方法和自定义格式化函数示例

    JavaScript格式化日期时间的方法和自定义格式化函数示例

    JavaScript默认的时间格式我们一般情况下不会用,所以需要进行格式化,下面说说我总结的JavaScript时间格式化方法
    2014-04-04
  • JavaScript实现修改伪类样式

    JavaScript实现修改伪类样式

    这篇文章主要介绍了JavaScript实现修改伪类样式的方法以及代码实现过程,一起学习参考下吧。
    2017-11-11
  • JS实现随机生成字符串(可指定长度)的示例代码

    JS实现随机生成字符串(可指定长度)的示例代码

    本文主要介绍了JS实现随机生成字符串(可指定长度)的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • swiper实现导航滚动效果

    swiper实现导航滚动效果

    这篇文章主要为大家详细介绍了swiper实现导航滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • 原生JavaScript实现贪吃蛇游戏

    原生JavaScript实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了原生JavaScript实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • js中的闭包实例展示

    js中的闭包实例展示

    闭包是js中的一大特色,也是一大难点。下面这篇文章主要给大家介绍了关于js中闭包的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-11-11
  • js不完美解决click和dblclick事件冲突问题

    js不完美解决click和dblclick事件冲突问题

    当某个元素,如:div,同时绑定了click事件和dblclick事件,而这两个事件又要处理相对独立的业务,也就是click的时候不能触发dblclick,dblclick的时候不能触发click
    2012-07-07
  • js特殊字符转义介绍

    js特殊字符转义介绍

    js特殊字符转义。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11

最新评论

?


http://www.vxiaotou.com