国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

淺析用JavaScript實(shí)現(xiàn)select所支持的功能

開發(fā) 前端
本文對(duì)用JavaScript實(shí)現(xiàn)select所支持的功能進(jìn)行介紹,同時(shí)也介紹一些標(biāo)識(shí)的定義,希望本文能對(duì)大家有所幫助。

在進(jìn)行JavaScript實(shí)現(xiàn)select所支持的功能實(shí)現(xiàn)時(shí),首先需要了解一些標(biāo)識(shí)的定義,比如true-這個(gè)是控制單擊時(shí)出現(xiàn)下拉框體的標(biāo)識(shí)等等。

調(diào)用時(shí)可以這樣:

1,tempStr=GetNewSelectStr(dataTable.value,"select"+rowIndex,true);

2,makeSelectBox("select"+rowIndex,tempStr,value,obj);

tempStr-這個(gè)是返回的下拉列表值的框體

dataTable.value-這個(gè)是數(shù)據(jù)源(我這里是一張表)

"select"+rowIndex-這個(gè)是ID號(hào),也就是當(dāng)前這個(gè)select的id號(hào)(我這里是有多個(gè)select所以ID號(hào)是自動(dòng)的)

true-這個(gè)是控制單擊時(shí)出現(xiàn)下拉框體的標(biāo)識(shí)

value-這個(gè)是初始的時(shí)候顯示在select輸入框中的值

obj-這個(gè)是要顯示select的對(duì)象

JavaScript實(shí)現(xiàn)select源代碼:

  1. var nowOpenedSelectBox = "";   
  2.   var mousePosition = "";   
  3.   var userList=null;   
  4.   function selectThisValue(thisId,thisIndex,thisValue,thisString) {   
  5.   var objId = thisId;   
  6.   var nowIndex = thisIndex;   
  7.   var valueString = thisString;   
  8.   var sourceObj = $(objId);   
  9.   var nowSelectedValue = document.getElementById(nowIndex+thisId).innerHTML;   
  10.   hideOptionLayer(objId);   
  11.   if (sourceObj) sourceObj.value = nowSelectedValue;   
  12.   settingValue(objId,valueString);   
  13.   selectBoxFocus(objId);   
  14.   if (sourceObj.onchange) sourceObj.onchange();   
  15.   }   
  16.   function settingValue(thisId,thisString) {   
  17.   var objId = thisId;   
  18.   var valueString = thisString;   
  19.   var selectedArea = document.getElementById(objId+"selectBoxSelectedValue");   
  20.   if (selectedArea) {   
  21.   if(navigator.appName.indexOf("Explorer") > -1){   
  22.   selectedArea.innerText = valueString;   
  23.   }   
  24.   else{   
  25.   selectedArea.textContent = valueString;   
  26.   }   
  27.   }   
  28.   }   
  29.   var l=0;   
  30.   //顯示下拉框中的值   
  31.   function viewOptionLayer(thisId,Istask,flag) {   
  32.   var objId = thisId;   
  33.   var selectInfo="";   
  34.   var optionHeight = 18; // 高   
  35.   var optionMaxNum = 7; //   
  36.   var optionInnerLayerHeight = "";   
  37.   var selectBoxWidth =130;   
  38.   var selectBoxHeight =17;   
  39.   l=userList.Rows.length;   
  40.   var optionLayer = document.getElementById(objId+"selectBoxs");   
  41.   if(optionLayer.innerHTML=="")   
  42.   {   
  43.   if (l > optionMaxNum) optionInnerLayerHeight = "height:"+ (optionHeight * optionMaxNum) + "px";   
  44.   selectInfo = "";   
  45.   if(Istask=="true")   
  46.   {   
  47.   selectInfo += " ";   
  48.   selectInfo += " ";   
  49.   selectInfo += "    
  50. ";   
  51.   selectInfo += " ";   
  52.   selectInfo += " ";   
  53.   selectInfo += "    
  54. ";   
  55.   }   
  56.   else   
  57.   {   
  58.   selectInfo += " ";   
  59.   selectInfo += " ";   
  60.   selectInfo += "    
  61. ";   
  62.   }   
  63.   selectInfo += " ";   
  64.   selectInfo += " ";   
  65.   selectInfo += "    
  66. ";   
  67.   selectInfo += " ";   
  68.   for (var i=0 ; i < l ; i++)   
  69.   {   
  70.   var nowValue = userList.Rows[i][userList.Columns[0].Name];   
  71.   var nowText = userList.Rows[i][userList.Columns[0].Name];   
  72.   if(Istask=="true")   
  73.   {   
  74.   selectInfo += " ";   
  75.   }   
  76.   else   
  77.   {   
  78.   selectInfo += "    
  79. ";   
  80.   }   
  81.   selectInfo += " " + nowText + "";   
  82.   // selectInfo += " ";   
  83.   selectInfo += "    
  84. ";   
  85.   }   
  86.   selectInfo += " ";   
  87.   selectInfo += "    
  88. ";   
  89.   selectInfo += " ";   
  90.   selectInfo += "    
  91. ";   
  92.   selectInfo +=   
  93.   "";   
  94.   optionLayer.innerHTML=selectInfo;   
  95.   }   
  96.   if (flag && optionLayer.style.display=="none"){ optionLayer.style.display = "";optionLayer.focus();}   
  97.   else   
  98.   {   
  99.   optionLayer.style.display = "none";   
  100.   if(document.getElementById("level"))   
  101.   {   
  102.   document.getElementById("level").style.display="";   
  103.   }   
  104.   if(document.getElementById("priority"))   
  105.   {   
  106.   document.getElementById("priority").style.display="";   
  107.   }   
  108.   }   
  109.   if(!flag){optionLayer.style.display = "";optionLayer.focus();}   
  110.   for(var i=0;i    
  111.   {   
  112.   if(document.getElementById("select"+i+""+"viewOptions"))   
  113.   {   
  114.   document.getElementById("select"+i+""+"viewOptions").style.display="none";   
  115.   }   
  116.   }   
  117.   document.getElementById(objId+"viewOptions").style.display="";   
  118.   if(document.getElementById("level"))   
  119.   {   
  120.   document.getElementById("level").style.display="none";   
  121.   }   
  122.   if(document.getElementById("priority"))   
  123.   {   
  124.   document.getElementById("priority").style.display="none";   
  125.   }   
  126.   nowOpenedSelectBox = objId;   
  127.   setMousePosition("inBox");   
  128.   }   
  129.   //支持首字母篩選、回車鍵取值、上下鍵選值功能   
  130.   function firstLetter(thisId){   
  131.   var count=0;   
  132.   var selectedVal="";   
  133.   if(document.getElementById(thisId+"viewOptions").style.display=="")   
  134.   {   
  135.   document.getElementById(thisId+"viewOptions").focus();   
  136.   var asciiCode=String.fromCharCode(event.keyCode).toLowerCase();   
  137.   var selectValue="";   
  138.   if(event.keyCode==38)   
  139.   {   
  140.   for(var i=0;i    
  141.   {   
  142.   if(document.getElementById(i+thisId).className=="selectBoxOptionOver" && i>0)   
  143.   {   
  144.   document.getElementById(i+thisId).style.backgroundColor='#ffffff';   
  145.   document.getElementById(i+thisId).style.color='#253449';   
  146.   document.getElementById(i+thisId).className='selectBoxOption';   
  147.   document.getElementById((i-1)+thisId).style.backgroundColor='#2c59aa';   
  148.   document.getElementById((i-1)+thisId).style.color='#ffffff';   
  149.   document.getElementById((i-1)+thisId).className='selectBoxOptionOver';   
  150.   document.getElementById(thisId+"viewOptions").scrollTop= (i-1)*20;   
  151.   count=1;   
  152.   break;   
  153.   }   
  154.   }   
  155.   if(count==0)   
  156.   {   
  157.   document.getElementById((l-1)+thisId).style.backgroundColor='#2c59aa';   
  158.   document.getElementById((l-1)+thisId).style.color='#ffffff';   
  159.   document.getElementById((l-1)+thisId).className='selectBoxOptionOver';   
  160.   }   
  161.   }   
  162.   if(event.keyCode==40)   
  163.   {   
  164.   for(var i=0;i    
  165.   {   
  166.   if(document.getElementById(i+thisId).className=="selectBoxOptionOver" && i    
  167.   {   
  168.   document.getElementById(i+thisId).style.backgroundColor='#ffffff';   
  169.   document.getElementById(i+thisId).style.color='#253449';   
  170.   document.getElementById(i+thisId).className='selectBoxOption';   
  171.   document.getElementById((i+1)+thisId).style.backgroundColor='#2c59aa';   
  172.   document.getElementById((i+1)+thisId).style.color='#ffffff';   
  173.   document.getElementById((i+1)+thisId).className='selectBoxOptionOver';   
  174.   if(i>10)   
  175.   {   
  176.   document.getElementById(thisId+"viewOptions").scrollTop= (i+1)*19;   
  177.   }   
  178.   else   
  179.   {   
  180.   document.getElementById(thisId+"viewOptions").scrollTop= (i+1)*10;   
  181.   }   
  182.   count=1;   
  183.   break;   
  184.   }   
  185.   }   
  186.   &nb   
  187.   sp; if(count==0)   
  188.   {   
  189.   document.getElementById(0+thisId).style.backgroundColor='#2c59aa';   
  190.   document.getElementById(0+thisId).style.color='#ffffff';   
  191.   document.getElementById(0+thisId).className='selectBoxOptionOver';   
  192.   }   
  193.   }   
  194.   if(event.keyCode==13)   
  195.   {   
  196.   for(var i=0;i    
  197.   {   
  198.   if(document.getElementById(i+thisId).className=="selectBoxOptionOver")   
  199.   {   
  200.   selectedVal=document.getElementById(i+thisId).innerHTML;   
  201.   var sourceObj = $(thisId);   
  202.   hideOptionLayer(thisId);   
  203.   if (sourceObj) sourceObj.value = selectedVal;   
  204.   settingValue(thisId,selectedVal);   
  205.   selectBoxFocus(thisId);   
  206.   if (sourceObj.onchange) sourceObj.onchange();   
  207.   document.getElementById(thisId+"viewOptions").style.display="none";   
  208.   if(document.getElementById("level"))   
  209.   {   
  210.   document.getElementById("level").style.display="";   
  211.   }   
  212.   if(document.getElementById("priority"))   
  213.   {   
  214.   document.getElementById("priority").style.display="";   
  215.   }   
  216.   break;   
  217.   }   
  218.   }   
  219.   }   
  220.   for(var i=0 ; i < l ; i++)   
  221.   {   
  222.   selectValue=document.getElementById(i+thisId).innerHTML;   
  223.   if(asciiCode==selectValue.substring(0,1))   
  224.   {   
  225.   resetStyle(thisId);   
  226.   document.getElementById(i+thisId).style.backgroundColor='#2c59aa';   
  227.   document.getElementById(i+thisId).style.color='#ffffff';   
  228.   document.getElementById(i+thisId).className='selectBoxOptionOver';   
  229.   document.getElementById(thisId+"viewOptions").scrollTop= i*19;   
  230.   break;   
  231.   }   
  232.   }   
  233.   }   
  234.   }   
  235.   //清除被選中的下拉列表值的樣式   
  236.   function resetStyle(thisId){   
  237.   for(var i=0;i    
  238.   {   
  239.   document.getElementById(i+thisId).style.backgroundColor='#ffffff';   
  240.   document.getElementById(i+thisId).style.color='#253449';   
  241.   document.getElementById(i+thisId).className='selectBoxOption';   
  242.   }   
  243.   }   
  244.   //隱藏下拉框   
  245.   function hideOptionLayer(thisId) {   
  246.   var objId = thisId;   
  247.   var optionLayer = document.getElementById(objId+"selectBoxs");   
  248.   if (optionLayer) optionLayer.style.display = "none";   
  249.   if(document.getElementById("level"))   
  250.   {   
  251.   document.getElementById("level").style.display="";   
  252.   }   
  253.   if(document.getElementById("priority"))   
  254.   {   
  255.   document.getElementById("priority").style.display="";   
  256.   }   
  257.   }   
  258.   function setMousePosition(thisValue) {   
  259.   var positionValue = thisValue;   
  260.   mousePosition = positionValue;   
  261.   }   
  262.   function clickMouse() {   
  263.   if (mousePosition == "out") hideOptionLayer(nowOpenedSelectBox);   
  264.   }   
  265.   function selectBoxFocus(thisId) {   
  266.   var objId = thisId;   
  267.   var obj = document.getElementById(objId + "selectBoxSelectedValue");   
  268.   obj.className = "selectBoxSelectedAreaFocus";   
  269.   obj.focus();   
  270.   }   
  271.   function selectBoxBlur(thisId) {   
  272.   var objId = thisId;   
  273.   var obj = document.getElementById(objId + "selectBoxSelectedValue");   
  274.   obj.className = "selectBoxSelectedArea";   
  275.   }   
  276.   function hiddenOptions(thisId){   
  277.   document.getElementById(thisId+"viewOptions").style.display="none";   
  278.   if(document.getElementById("level"))   
  279.   {   
  280.   document.getElementById("level").style.display="";   
  281.   }   
  282.   if(document.getElementById("priority"))   
  283.   {   
  284.   document.getElementById("priority").style.display="";   
  285.   }   
  286.   }   
  287.   function makeSelectBox(index,newSelect,value,obj) {   
  288.   newSelect=newSelect.replace(/(select0)/g,index);   
  289.   $(obj).html(newSelect);   
  290.   settingValue(index,value);   
  291.   }   
  292.   function GetNewSelectStr(table,index,IsTask){   
  293.   userList=table;   
  294.   var downArrowSrc = "../images/sanjiao.gif"//三角   
  295.   var downArrowSrcWidth = 16; //寬   
  296.   var selectBoxWidth =130;   
  297.   var selectBoxHeight =17;   
  298.   newSelect="   
  299. "   
  300.   ; newSelect += "";   
  301.   newSelect += " ";   
  302.   newSelect += " ";   
  303.   newSelect += " ";   
  304.   if(IsTask)   
  305.   {   
  306.   newSelect += " ";   
  307.   newSelect += " ";   
  308.   }   
  309.   else   
  310.   {   
  311.   newSelect += "    
  312. ";   
  313.   newSelect += " ";   
  314.   }   
  315.   newSelect += " ";   
  316.   newSelect += "    
  317. ";   
  318.   newSelect += " ";   
  319.   newSelect += " ";   
  320.   newSelect += "    
  321. ";   
  322.   newSelect += "";   
  323.   return newSelect ;   
  324.   }  

【編輯推薦】

  1. JSON是什么?為JavaScript準(zhǔn)備的數(shù)據(jù)格式
  2. 十個(gè)最常用的JavaScript自定義函數(shù)
  3. 有關(guān)JavaScript事件加載的一些延伸思考
  4. JavaScript使用心得匯總:從BOM和DOM談起
  5. ExtJS在Android模擬器上的運(yùn)行效果
責(zé)任編輯:彭凡 來源: IT專家網(wǎng)
相關(guān)推薦

2010-04-20 14:31:29

負(fù)載均衡功能

2010-02-25 13:35:27

WCF tcpTrac

2009-09-14 19:21:36

Javascript透

2009-10-12 10:33:11

Javascript替

2021-03-27 11:02:04

JavaScript隊(duì)列編程語言

2021-07-27 22:56:00

JavaScript編程開發(fā)

2009-09-04 09:27:48

C#調(diào)用瀏覽器

2012-10-11 14:42:19

FastDFS

2016-10-19 14:35:20

JavaScript函數(shù)式編程

2016-09-06 21:37:41

2015-05-28 14:13:14

光纖通信

2021-02-07 22:59:55

JavaScript編程方法鏈

2009-07-24 17:30:37

Javascript閉

2011-03-07 09:41:10

JavaScript

2010-09-28 14:12:50

Javascript

2009-11-03 17:46:50

ADO.NET Sel

2011-03-10 14:19:56

JavaScript

2009-06-16 11:49:00

JQuery實(shí)現(xiàn)loaWCF

2009-07-03 09:44:39

實(shí)現(xiàn)RSS功能JSP技術(shù)

2009-03-17 16:18:51

JspActionStruts
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

av中文字幕在线| 欧美69视频| 婷婷六月综合网| 欧美国产视频一区| 日韩大片在线播放| 亚洲精品一区二区网址| 色视频在线播放| 99精品视频在线观看| 精品婷婷色一区二区三区蜜桃| 高清一区二区三区| 亚洲精品永久免费精品| 国产永久免费高清在线观看| 国产日本亚洲高清| 麻豆传媒网站在线观看| 狠狠色丁香久久综合频道| 98视频在线噜噜噜国产| 国产 日韩 欧美一区| 7878成人国产在线观看| 午夜成在线www| 亚洲欧美影音先锋| 日韩欧美视频网站| 久久99国产精品久久99| 国产伦精品一区二区三区四区免费 | 亚洲三级av| 亚洲а∨天堂久久精品9966| 牛牛热在线视频| 亚洲一卡二卡三卡四卡无卡久久| 草草久久久无码国产专区| 精品亚洲porn| 色阁综合av| 天堂成人国产精品一区| 国产乱子伦精品| 亚洲精品国产首次亮相| 国产成人综合精品在线| 日本一区福利在线| 久久男人av资源网站| 996久久国产精品线观看| 亚洲午夜精品视频| 亚洲精品福利电影| 亚洲国产精久久久久久| 91cn在线观看| 日韩精品一区二区三区四区视频| 思思99re6国产在线播放| 日本道色综合久久| 黄色网址在线播放| 日本韩国欧美一区| 每日更新av在线播放| 色综合天天综合狠狠| 国产中文字幕在线| 9191久久久久久久久久久| 黄色成人影院| 日韩www在线| 日本综合字幕| 欧美成人性色生活仑片| 成人动态视频| 国产精品美女网站| 一区二区三区四区电影| 精品国产乱码久久久久软件| 亚洲综合日韩| 日本中文字幕一级片| 99久久精品国产精品久久| 午夜dv内射一区二区| 亚洲欧洲日本在线| 亚洲夫妻av| 91精品蜜臀在线一区尤物| 不卡av免费观看| 日韩中文字幕网站| 国产99久久| 国产一区精品在线| 国产二区国产一区在线观看| 无码aⅴ精品一区二区三区浪潮 | 精品久久久久久亚洲| 老司机午夜精品视频在线观看| 亚洲欧洲日夜超级视频| 不卡大黄网站免费看| 制服丝袜综合网| 黄色一区二区在线观看| 主播国产精品| 欧美成人在线免费| 国产精品99在线观看| 日韩精品久久一区二区三区| 国产自产v一区二区三区c| 欧美三级理论片| 色综合久久综合中文综合网| 超碰97国产精品人人cao| 精品少妇一区二区30p| 亚洲国产日韩欧美在线| 国产对白在线播放| 亚洲欧美综合在线精品| 免费在线看黄色| 欧美激情视频播放| 国产视频一区三区| 性生交免费视频| 欧美日韩国产不卡| 麻豆视频久久| 九色91视频| 久久综合色8888| 永久免费av在线| 欧美另类69精品久久久久9999| 一本一道久久综合狠狠老| 久久最新免费视频| 午夜精品福利久久久| 2022成人影院| 91久久久久久久久久久| 北条麻妃一区二区三区| 青青草超碰在线| 粗暴蹂躏中文一区二区三区| 一区在线视频观看| 国产一级特黄a大片免费| 91精品国产高清一区二区三区 | 精品久久久中文字幕| 亚洲激情图片| 亚洲高清免费视频| 精品久久久网| 国产精品永久入口久久久| 国产亚洲自拍一区| 金瓶狂野欧美性猛交xxxx | 久久国产色av| 亚洲二区视频| 五月天亚洲激情| 日韩精品黄色网| 欧美黄色一区二区| 三年中国国语在线播放免费| 日韩美女视频在线| 91麻豆精品国产91久久久平台| 成人性生活视频免费看| 欧美精品在线观看一区二区| 天堂av一区二区三区在线播放| 国产又粗又猛又爽又黄的网站| 欧美区一区二区三区| 欧美日韩xxxx| 欧美一级黄色影院| 在线观看国产精品91| 玖玖在线精品| 久蕉在线视频| 国产精品久久久久av| 久久久久九九视频| 三上悠亚一区二区| 亚洲国产午夜伦理片大全在线观看网站 | wwww国产精品欧美| 亚洲三级欧美| 日本不卡一区二区三区在线观看| 亚洲成人激情av| 亚洲aaa级| 中文字幕国内自拍| 欧美成年人视频网站| 风间由美性色一区二区三区| segui88久久综合9999| 欧美精品欧美精品系列c| 欧美视频一区二区在线观看| 国产精品99久久| 色视频www在线播放| 日本国产精品视频| 国产精品美女久久久久久| 亚洲经典视频| 91精品无人成人www| 欧美大片免费观看| 国产三级精品在线| 精品入口麻豆88视频| 少妇高清精品毛片在线视频| 久久久99久久精品女同性| 不卡一区中文字幕| 四虎精品在线观看| 国产三级三级三级看三级| 欧美激情在线播放| 亚洲人123区| 久久网站免费观看| 久草视频在线看| 国产视色精品亚洲一区二区| 欧美人狂配大交3d怪物一区| 小嫩嫩精品导航| 后进极品白嫩翘臀在线播放| 色一情一乱一伦一区二区三欧美| 91精品综合视频| 自拍偷拍亚洲视频| 一区在线免费观看| 日韩精品福利一区二区三区| 美女主播精品视频一二三四| 91免费观看视频| 日本黄色一区二区| 欧美日韩国内自拍| 欧美一区二区成人| 亚洲综合色激情五月| 亚洲a∨日韩av高清在线观看| 亚洲国产欧美一区二区三区同亚洲 | 91福利社在线观看| 永久91嫩草亚洲精品人人| 成人网视频在线观看| 日本精品一区二区三区不卡无字幕| 日韩欧美久久一区| 国产91丝袜在线播放0| 午夜日韩影院| 亚洲裸体视频| 在线观看福利一区| 高清一区二区三区四区五区 | 中文字幕日韩一区二区三区| 久久久国产91| 色婷婷av一区二区三区gif| 国产激情精品久久久第一区二区 | 久久影视免费观看|