Quick Selection from the js drop-down list (shortcut keys and letters are available)

Source: Internet
Author: User
Tip: you can modify some code before running

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Drop-down list quick selection</title><script type="text/javascript" language="JavaScript">// Function getPinYin (c) {execScript ("tmp = asc (" "+ c +" ")", "vbscript"); tmp = 65536 + tmp; if (tmp> = 45217 & tmp <= 45252) return "A"; if (tmp> = 45253 & tmp <= 45760) return "B "; if (tmp> = 45761 & tmp <= 46317) return "C"; if (tmp> = 46318 & tmp <= 46825) return "D "; if (tmp> = 46826 & tmp <= 47009) return "E"; if (tmp> = 47010 & tmp <= 47296) return "F "; if (tmp> = 47297 & tmp <= 47613) | (tmp = 63193) return "G "; If (tmp> = 47614 & tmp <= 48118) return" H "; if (tmp> = 48119 & tmp <= 49061) return" J "; if (tmp> = 49062 & tmp <= 49323) return "K"; if (tmp> = 49324 & tmp <= 49895) return "L "; if (tmp> = 49896 & tmp <= 50370) return "M"; if (tmp> = 50371 & tmp <= 50613) return "N "; if (tmp> = 50614 & tmp <= 50621) return "O"; if (tmp> = 50622 & tmp <= 50905) return "P "; if (tmp> = 50906 & tmp <= 51386) return "Q"; if (tmp> = 51387 & tmp <= 51445) Return "R"; if (tmp> = 51446 & tmp <= 52217) return "S"; if (tmp> = 52218 & tmp <= 52697) return "T"; if (tmp> = 52698 & tmp <= 52979) return "W"; if (tmp> = 52980 & tmp <= 53688) return "X"; if (tmp> = 53689 & tmp <= 54480) return "Y"; if (tmp> = 54481 & tmp <= 62289) return "Z"; return c. charAt (0);} // select helperSelectHelper = new function () {// initialize this. init = function () {document. attachEvent ("onkeypress", funct Ion () {var elm = event. srcElement; if (elm. tagName = "SELECT" & elm. className. indexOf ("SelectHelper") =-1) {elm. className + = "SelectHelper"; elm. attachEvent ("onkeypress", SelectHelper. getNextKeyItem); elm. fireEvent ("onkeypress", event) ;}}) ;}// obtain the first character function getItemKeyChar (option) {return option. text. charAt (0 ). toUpperCase ();} // find and select the matching option this. getNextKeyItem = function () {var el M = event. srcElement; var index = elm. selectedIndex + 1; do {if (index = elm. length) index = 0; if (index = elm. selectedIndex) return false; // if no matching option is found, exit} while (key2Char (event. keyCode )! = GetPinYin (getItemKeyChar (elm. options [index ++]); elm. selectedIndex = index-1; // select the matched option return false; // cancel the original selection function }}; /*** return the letter or number corresponding to the keyboard event * a-z: 97-> 122 * A-Z: 65-> 90*0-9: 48-> 57 */function key2Char (key) {var s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; if (key> = 97 & key <= 122) return s. charAt (key-97); if (key> = 65 & key <= 90) return s. charAt (key-65); if (key> = 48 & key <= 57) return "" + (key-48); return null;} SelectHelper. init ();</script></head><body>For example, if the initial character of an option is "a", you only need to press "a" on the keyboard to quickly select the option.<select><OPTION selected value=北京>Beijing</oPTION><OPTION value=上海>Shanghai</oPTION><OPTION value=天津>Tianjin</oPTION><OPTION value=重庆>Chongqing</oPTION><OPTION value=河北>Hebei</oPTION><OPTION value=山西>Shanxi</oPTION><OPTION value=内蒙古>Inner Mongolia</oPTION><OPTION value=辽宁>Liaoning</oPTION><OPTION value=32>32</oPTION><OPTION value=吉林>Jilin province</oPTION><OPTION value=黑龙江>Heilongjiang</oPTION><OPTION value=江苏>Jiangsu</oPTION><OPTION value=浙江>Zhejiang</oPTION><OPTION value=%&>& ^</oPTION><OPTION value=安徽>Anhui province</oPTION><OPTION value=福建>Fujian</oPTION><OPTION value=北京>A1</oPTION><OPTION value=江西>Jiangxi</oPTION><OPTION value=山东>Shandong province</oPTION><OPTION value=河南>Henan</oPTION><OPTION value=湖北>Hubei province</oPTION><OPTION value=湖南>Hunan</oPTION><OPTION value=31>31</oPTION><OPTION value=广东>Guangdong</oPTION><OPTION value=广西>Guangxi</oPTION><OPTION value=海南>Hainan</oPTION><OPTION value=北京>A2</oPTION><OPTION value=四川>Sichuan</oPTION><OPTION value=贵州>Guizhou</oPTION><OPTION value=云南>Yunnan</oPTION><OPTION value=西藏>Tibet</oPTION><OPTION value=陕西>Shaanxi</oPTION><OPTION value=甘肃>Gansu</oPTION><OPTION value=宁夏>Ningxia</oPTION><OPTION value=青海>Qinghai</oPTION><OPTION value=新疆>Xinjiang</oPTION><OPTION value=香港>Hong Kong</oPTION><OPTION value=澳门>Macao</oPTION><OPTION value=台湾>Taiwan</oPTION><OPTION value=其它>Others</oPTION></sELECT><select><OPTION selected value=北京>Beijing</oPTION><OPTION value=上海>Shanghai</oPTION><OPTION value=天津>Tianjin</oPTION><OPTION value=重庆>Chongqing</oPTION><OPTION value=河北>Hebei</oPTION><OPTION value=山西>Shanxi</oPTION><OPTION value=内蒙古>Inner Mongolia</oPTION><OPTION value=辽宁>Liaoning</oPTION><OPTION value=32>32</oPTION><OPTION value=吉林>Jilin province</oPTION><OPTION value=黑龙江>Heilongjiang</oPTION><OPTION value=江苏>Jiangsu</oPTION><OPTION value=浙江>Zhejiang</oPTION><OPTION value=%&>& ^</oPTION><OPTION value=安徽>Anhui province</oPTION><OPTION value=福建>Fujian</oPTION><OPTION value=北京>A1</oPTION><OPTION value=江西>Jiangxi</oPTION><OPTION value=山东>Shandong province</oPTION><OPTION value=河南>Henan</oPTION><OPTION value=湖北>Hubei province</oPTION><OPTION value=湖南>Hunan</oPTION><OPTION value=31>31</oPTION><OPTION value=广东>Guangdong</oPTION><OPTION value=广西>Guangxi</oPTION><OPTION value=海南>Hainan</oPTION><OPTION value=北京>A2</oPTION><OPTION value=四川>Sichuan</oPTION><OPTION value=贵州>Guizhou</oPTION><OPTION value=云南>Yunnan</oPTION><OPTION value=西藏>Tibet</oPTION><OPTION value=陕西>Shaanxi</oPTION><OPTION value=甘肃>Gansu</oPTION><OPTION value=宁夏>Ningxia</oPTION><OPTION value=青海>Qinghai</oPTION><OPTION value=新疆>Xinjiang</oPTION><OPTION value=香港>Hong Kong</oPTION><OPTION value=澳门>Macao</oPTION><OPTION value=台湾>Taiwan</oPTION><OPTION value=其它>Others</oPTION></sELECT></body></html>
Tip: you can modify some code before running

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.