亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js實現select組件的選擇輸入過濾代碼

2019-11-20 14:02:38
字體:
來源:轉載
供稿:網友

實現select組件的選擇輸入過濾作用的js代碼如下:

/***其中//******之間的部分顯示的是在沒有選擇輸入過濾功能的代碼上加入的功能代碼**//** * @description This plugin allows you to make a select box editable like a text box while keeping it's select-option features* @description no stylesheets or images are required to run the plugin** @version 0.0.1* @author Martin Mende* @license Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0)* @license For comercial use please contact me: martin.mende(at)aristech.de* * @requires jQuery 1.9+** @class editableSelect* @memberOf jQuery.fn** @example** var selectBox = $("select").editableSelect();* selectBox.addOption("I am dynamically added");*/(function ( $ ) {$.fn.editableSelect = function() {var instanceVar;//此this.each()指的就是對當前對象的遍歷,這里的當前對象指代的就是對當前兩個下拉選擇框對象的一一遍歷this.each(function(){var originalSelect = $(this);//check if element is a selectif(originalSelect[0].tagName.toUpperCase()==="SELECT"){//wrap the original select在原始的<select>外圍插入<div></div>框originalSelect.wrap($("<div/>"));var wrapper = originalSelect.parent();wrapper.css({display: "inline-block"});//place an input which will represent the editable select//在選擇菜單上加入input輸入框<input alt title ..... style="width:......" value="">var inputSelect = $("<input/>").insertBefore(originalSelect);//get and remove the original idvar objID = originalSelect.attr("id");originalSelect.removeAttr("id");//add the attributes from the original select//input輸入框的各種屬性設置inputSelect.attr({alt: originalSelect.attr("alt"),title: originalSelect.attr("title"),class: originalSelect.attr("class"),name: originalSelect.attr("name"),disabled: originalSelect.attr("disabled"),tabindex: originalSelect.attr("tabindex"),id: objID});//get the editable css properties from the selectvar rightPadding = 15;inputSelect.css({width: originalSelect.width()-rightPadding,height: originalSelect.height(),fontFamily: originalSelect.css("fontFamily"),fontSize: originalSelect.css("fontSize"),background: originalSelect.css("background"),paddingRight: rightPadding});inputSelect.val(originalSelect.val());//add the triangle at the rightvar triangle = $("<div/>").css({height: 0, width: 0,borderLeft: "5px solid transparent",borderRight: "5px solid transparent", borderTop: "7px solid #999",position: "relative",top: -(inputSelect.height()/2)-5,left: inputSelect.width()+rightPadding-10,marginBottom: "-7px",pointerEvents: "none"}).insertAfter(inputSelect);//create the selectable list that will appear when the input gets focus//聚焦的時候加上<ol><ol/>下拉框var selectList = $("<ol/>").css({display: "none",listStyleType: "none",width: inputSelect.outerWidth()-2,padding: 0,margin: 0,border: "solid 1px #ccc",fontFamily: inputSelect.css("fontFamily"),fontSize: inputSelect.css("fontSize"),background: "#fff",position: "absolute",zIndex: 1000000}).insertAfter(triangle);//add options//在resourceData變量中存儲當前下拉框中的所有數據//******var resourceData = [];originalSelect.children().each(function(index, value){prepareOption($(value).text(), wrapper);resourceData.push($(value).text());});//******//bind the focus handler//在鼠標聚焦的時候fadeIn(100),即下拉顯示當前下拉框inputSelect.focus(function(){selectList.fadeIn(100);//v存儲的是在input輸入框中輸入的內容,如果輸入的內容不為空,就在存儲原始下拉框的所有數據中找到出現v中字符的數據壓入newResourceData變量中//******var v = inputSelect.val();var newResourceData = [];if(v != "") {$.each(resourceData, function(i, t){if(t.indexOf(v) != -1)newResourceData.push(t);});}wrapper.children("ol").empty();$.each(newResourceData, function(i, t){prepareOption(t, wrapper);});//******}).blur(function(){selectList.fadeOut(100); }).keyup(function(e){if(e.which==13) inputSelect.trigger("blur");//在enter快捷鍵按下后彈起的時候執行的事件//******var v = inputSelect.val();var newResourceData = [];if(v != "") {$.each(resourceData, function(i, t){if(t.indexOf(v) != -1)newResourceData.push(t);});}wrapper.children("ol").empty();$.each(newResourceData, function(i, t){prepareOption(t, wrapper);});//******});//hide original elementoriginalSelect.css({visibility: "hidden", display: "none"});//save this instance to return itinstanceVar = inputSelect}else{//not a selectreturn false;}});//-end each/** public methods **//*** Adds an option to the editable select* @param {String} value - the options value* @returns {void}*/instanceVar.addOption = function(value){prepareOption(value, instanceVar.parent()); };/*** Removes a specific option from the editable select* @param {String, Number} value - the value or the index to delete* @returns {void}*/instanceVar.removeOption = function(value){switch(typeof(value)){case "number":instanceVar.parent().children("ol").children(":nth("+value+")").remove();break; case "string":instanceVar.parent().children("ol").children().each(function(index, optionValue){if($(optionValue).text()==value){$(optionValue).remove();}});break;} };/*** Resets the select to it's original* @returns {void}*/instanceVar.restoreSelect = function(){var originalSelect = instanceVar.parent().children("select");var objID = instanceVar.attr("id");instanceVar.parent().before(originalSelect);instanceVar.parent().remove();originalSelect.css({visibility: "visible", display: "inline-block"});originalSelect.attr({id: objID});};//return the instancereturn instanceVar;};/** private methods **///prepareOption函數的作用就是在當前下拉框中添加新選項function prepareOption(value, wrapper){var selectOption = $("<li>"+value+"</li>").appendTo(wrapper.children("ol"));var inputSelect = wrapper.children("input");selectOption.css({padding: "3px",textAlign: "left",cursor: "pointer" }).hover(function(){selectOption.css({backgroundColor: "#eee"});},function(){selectOption.css({backgroundColor: "#fff"}); });//bind click on this optionselectOption.click(function(){inputSelect.val(selectOption.text());inputSelect.trigger("change");}); }}( jQuery ));
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩在线观看视频小说| 欧美中文在线观看国产| 成人久久一区二区三区| 国产精品视频区| 影音先锋日韩有码| 成人h视频在线| 国产欧美日韩91| 日本亚洲欧美三级| 成人国产精品免费视频| 国产成人精品免费视频| 久久伊人免费视频| 国产精品专区h在线观看| 欧美成人黑人xx视频免费观看| 6080yy精品一区二区三区| 久久精品国产综合| 日韩精品在线观看视频| 26uuu日韩精品一区二区| 91国内免费在线视频| 日韩av理论片| 亚洲天堂一区二区三区| 日韩激情av在线免费观看| 久久91精品国产91久久久| 久久精品人人爽| 亚洲2020天天堂在线观看| 国产精品久久久精品| 国产欧美一区二区三区视频| 欧美精品免费在线观看| 日韩av免费在线播放| 国产精品久久久久久一区二区| 日韩最新在线视频| 国产精品h片在线播放| 91国内产香蕉| 在线日韩中文字幕| 日本久久中文字幕| 中文字幕精品www乱入免费视频| 成人网在线免费看| 亚洲一区二区三区xxx视频| 亚洲开心激情网| 亚洲欧美一区二区精品久久久| 亚洲a级在线观看| 国产精品极品美女粉嫩高清在线| 亚洲视屏在线播放| 亚洲精品一区二区久| 日韩精品在线观| www.久久色.com| 国产91成人video| 亚洲国内精品视频| 成人网页在线免费观看| 色先锋久久影院av| 亚洲人成在线电影| 国产91精品久| 久久久91精品国产一区不卡| 日韩成人高清在线| 最近2019年手机中文字幕| 欧美激情乱人伦| 91中文在线视频| 国产精品ⅴa在线观看h| 国产欧美精品在线播放| 久久久精品网站| 亚洲午夜精品久久久久久性色| 91精品国产亚洲| 欧美激情视频三区| 亚洲一区二区三区四区视频| 国产欧美日韩最新| 欧美日韩美女在线| 欧美日韩不卡合集视频| 亚洲人成伊人成综合网久久久| 欧美乱妇高清无乱码| 欧美国产视频一区二区| 成人av在线亚洲| 日韩欧美在线视频免费观看| 亚洲a级在线播放观看| 国产精品久久久久久久9999| 青青久久av北条麻妃黑人| 中文字幕av一区二区| 久久偷看各类女兵18女厕嘘嘘| 日韩高清欧美高清| 亚洲精品日韩欧美| 欧美精品精品精品精品免费| 91久久精品国产91久久| 91探花福利精品国产自产在线| 日韩精品久久久久久久玫瑰园| 久久亚洲精品国产亚洲老地址| 亚洲电影中文字幕| 久久久精品一区二区| 国产成人中文字幕| 久久夜色精品国产亚洲aⅴ| 在线中文字幕日韩| 国产亚洲精品久久| 久久久av电影| 成人国产精品一区| 欧美高清不卡在线| 中文字幕视频一区二区在线有码| 91在线网站视频| 91经典在线视频| 亚洲综合精品一区二区| 精品一区二区三区四区在线| 午夜欧美不卡精品aaaaa| 日韩免费看的电影电视剧大全| 欧美韩国理论所午夜片917电影| 38少妇精品导航| 日韩视频免费中文字幕| 亚洲国产欧美一区| 91欧美精品午夜性色福利在线| 伦伦影院午夜日韩欧美限制| 久久伊人91精品综合网站| 亚洲欧美国产日韩中文字幕| 亚洲一区二区三区久久| 一区二区三区四区在线观看视频| 国产精品视频精品视频| 中日韩美女免费视频网址在线观看| 国产91精品青草社区| 九九久久国产精品| 97国产一区二区精品久久呦| 视频直播国产精品| 国产欧美 在线欧美| 亚洲毛茸茸少妇高潮呻吟| 久久久久久午夜| 亚洲人a成www在线影院| 欧美劲爆第一页| 日韩在线视频播放| 久久999免费视频| 欧美午夜视频在线观看| www.日韩.com| 国产在线视频2019最新视频| 欧美日韩国产精品一区二区不卡中文| 国产精品久久久久久久7电影| 91免费看片在线| 久久精品成人动漫| 爽爽爽爽爽爽爽成人免费观看| 国产69精品99久久久久久宅男| 国产精品视频久| 国产精品成人免费电影| 久久久在线视频| 久久人人爽人人爽人人片av高请| 欧美国产日韩xxxxx| 日韩在线观看免费| 亚洲男人天堂久| 日韩欧美在线观看| 久久99热这里只有精品国产| 久久精品视频在线| 国产婷婷色综合av蜜臀av| 91精品免费久久久久久久久| 97香蕉超级碰碰久久免费软件| 欧美日韩中文字幕综合视频| 日韩电视剧免费观看网站| 自拍偷拍亚洲精品| 丝袜美腿精品国产二区| 国产精品久久久久久久久久久久久久| 久久综合网hezyo| 日韩电影中文字幕在线观看| 最近2019年日本中文免费字幕| 欧美性感美女h网站在线观看免费| 欧美激情高清视频| 日本久久久久亚洲中字幕| 欧美在线不卡区| 日本韩国欧美精品大片卡二| 日韩精品视频三区| 亲子乱一区二区三区电影| 最新国产精品亚洲| 国产丝袜一区二区三区免费视频| 亚洲永久在线观看| 国产精品一二三视频| 日本久久久久久久久久久|