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

首頁 > 編程 > JavaScript > 正文

js實現帶搜索功能的下拉框實時搜索實時匹配

2019-11-20 21:46:50
字體:
來源:轉載
供稿:網友
1. 當select輸入框中每輸入一點內容的時候,在option中找出與內容匹配的選項顯示在option的前面選項中。
2. 如何獲取每次輸入的內容,當keyup的時候觸發函數。
問題:select標簽中可以輸入內容嗎?(解決:另一篇文章可選擇和輸入的下拉列表框 )
3. 如何獲得輸入框中的內容?(解決,在輸入框上添加onkeyup時間觸發的函數用js獲得)
4. 如何匹配?(解決)
4.1 如何獲得所有option中的內容?(解決)
復制代碼 代碼如下:

function getSelectText()
{
//獲得所有select標簽
var object = document.getElementsByTagName('select');
//因為該html中只有一個select標簽,所以就是name = "aabb"代表的標簽
var obj = object[0];
//alert(obj.length);
//alert(obj[0]);
//保存所有option 的值
var allText;
for(i=0;i<obj.length;i++)
{
allText += obj[i].innerText+','; //關鍵是通過option對象的innerText屬性獲取到選項文本
}
return allText;
}

4.2 js分割字符串?(解決)
復制代碼 代碼如下:

var allText = getSelectText();
//alert(allText);
// 每個option的內容分割開來
var eachOptin = new Array();
eachOptin=allText.split(","); //字符分割

4.3 如何在js中匹配?
復制代碼 代碼如下:

//如果option內容中有輸入的內容就返回第一次匹配的位置(大于等于0),如果沒有匹配的就返回-1
var flag = eachOptin[i].indexOf(shuru) ;

5. 如何讓匹配的內容顯示在option的前面的選項?(通過改變option的index編號)( 解決)
方法:當查到匹配的選項的時候,將第一個option重新新增到select最后,然后,將第一個的值重置為匹配的option的值,然后刪掉原始匹配的option
7. js 實現select標簽右邊三角的功能(未解決,當搜索之后,直接顯示所有option選項可供選擇)
8.在匹配的option選項有多個的時候出現bedug,注意測試,和重新修改一下,應該是上面第五條中的邏輯問題
代碼如下:
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>測試</title>
<script>
function onku()
{
//獲得input輸入框的內容
var shuru = document.getElementById('ccdd').value;
var object = document.getElementsByTagName('select');
var obj = object[0];
//如果輸入的內容為空,所有的選項都匹配
if(shuru!= '')
{
//alert(shuru);
//獲得option中的所有內容
var allText = getSelectText();
//alert(allText);
// 每個option的內容分割開來
var eachOptin = new Array();
eachOptin=allText.split(","); //字符分割
var f = 1;
for (i=1;i<eachOptin.length-1 ;i++ )
{
//alert(eachOptin[i]);
//如果option內容中有輸入的內容就返回第一次匹配的位置(大于等于0),如果沒有匹配的就返回-1
var flag = eachOptin[i].indexOf(shuru) ;
if(flag >=0)
{
//alert(i);
//將index為f的option重新新增一遍,顯示在最后
obj.options.add(new Option(obj[i].innerText,obj[f].value));
//將編號為f的option重新賦值,賦值為符合條件的第一個option
obj.options[f]=new Option(eachOptin[i],eachOptin[i]);
//刪除最初存在的符合條件的option
obj.remove(i);
f++;
}
}
}
}
function getSelectText()
{
//獲得所有select標簽
var object = document.getElementsByTagName('select');
//因為該html中只有一個select標簽,所以就是name = "aabb"代表的標簽
var obj = object[0];
//alert(obj.length);
//alert(obj[0]);
//保存所有option 的值
var allText;
for(i=0;i<obj.length;i++)
{
//alert(obj[i].index);//獲得option的index編號
//alert(obj[i].value);//獲得option的value的值
allText+= obj[i].innerText+','; //關鍵是通過option對象的innerText屬性獲取到選項文本
}
return allText;
}
</script>
</head>

<body>
<span style=" position:absolute;border:1pt solid #c1c1c1; overflow:hidden;width:188px;height:19px;clip:rect(-1px 190px 190px 170px);">
<select name="aabb" id="aabb" style="width:190px;height:20px;margin:-2px;"
onChange="javascript:document.getElementById('ccdd').value=document.getElementById('aabb').options[document.getElementById('aabb').selectedIndex].value;">
<option value="" style="color:#c2c2c2;">--請選擇--</option>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="廣州">廣州</option>
<option value="上123">上123</option>
<option value="蘇州">蘇州</option>
</select>
</span>
<span style="position:absolute; border:1pt solid #c1c1c1;border-left:1pt solid #c1c1c1;border-bottom:1pt solid #c1c1c1;width:170px;height:19px;">
<input type="text" name="ccdd" id="ccdd" value="可選擇也可輸入的下拉框" style="width:170px;height:15px;border:0pt;" onkeyup="onku()">
</span>
</body>
</html>

注意代碼中的注釋
上面代碼的運行結果如下:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩免费在线免费观看| 精品露脸国产偷人在视频| 欧美日韩一区二区免费视频| 91色在线视频| 久久99热精品| 亚洲第一区中文99精品| 欧美成aaa人片在线观看蜜臀| 日韩欧美国产激情| 91成品人片a无限观看| 欧美日韩综合视频| 日韩视频在线观看免费| 欧美怡红院视频一区二区三区| 色琪琪综合男人的天堂aⅴ视频| 日韩av一区在线观看| 国产在线a不卡| 成人性生交大片免费看视频直播| 岛国av一区二区在线在线观看| 亚洲欧美日韩精品久久| 欧美有码在线观看视频| 欧美国产日韩在线| 亚洲国产精品久久| 最新国产精品亚洲| 成人福利网站在线观看11| 尤物yw午夜国产精品视频明星| 97成人精品视频在线观看| 色偷偷噜噜噜亚洲男人| 丝袜美腿亚洲一区二区| 久久久国产一区二区| 日韩av色在线| 午夜欧美不卡精品aaaaa| 欧美性做爰毛片| 久久在线免费观看视频| 自拍偷拍亚洲在线| 亚洲精品在线观看www| 日韩中文字幕久久| 成人写真视频福利网| 亚洲成人av在线| 日韩免费视频在线观看| 黑人精品xxx一区| 久久久国产精彩视频美女艺术照福利| 亚洲欧美日韩爽爽影院| 亚洲色图av在线| 国产精品av在线| 国产日韩欧美在线视频观看| 热re91久久精品国99热蜜臀| 日产精品99久久久久久| 欧美激情视频免费观看| 欧美日韩中文字幕在线视频| 国产精品盗摄久久久| 国产精品激情av在线播放| 亚洲精品国产电影| 国产欧美一区二区三区视频| 日韩网站免费观看高清| 亚洲韩国欧洲国产日产av| 疯狂蹂躏欧美一区二区精品| 国产精品视频免费在线观看| 97视频免费在线看| 91老司机在线| 亚洲欧美日韩国产中文| 大荫蒂欧美视频另类xxxx| 欧美夜福利tv在线| 日韩欧美主播在线| 欧美视频一区二区三区…| 国产视频一区在线| 欧洲亚洲在线视频| 欧美午夜精品久久久久久人妖| 亚洲黄页视频免费观看| 尤物99国产成人精品视频| 国产成+人+综合+亚洲欧洲| 日韩中文字幕第一页| 少妇高潮久久久久久潘金莲| 97在线视频国产| 亚洲精品日产aⅴ| 日韩精品亚洲精品| 高清日韩电视剧大全免费播放在线观看| 国产精品白嫩美女在线观看| 7m第一福利500精品视频| 国产精品久久久久久av福利软件| 国产偷亚洲偷欧美偷精品| 国产精品v片在线观看不卡| 欧美一乱一性一交一视频| 国产欧美日韩91| 日韩经典第一页| 亚洲日本aⅴ片在线观看香蕉| 日韩中文字幕国产精品| 亚洲精品国产精品国自产观看浪潮| 欧美日本啪啪无遮挡网站| 国产精品尤物福利片在线观看| 曰本色欧美视频在线| 91社影院在线观看| 亚洲国产精品字幕| 中文字幕欧美日韩va免费视频| 久久久国产精品免费| 2019中文字幕免费视频| 91国产美女视频| 日韩精品视频在线观看免费| 国产在线拍揄自揄视频不卡99| 97精品在线观看| 日韩中文字幕欧美| 欧美精品亚州精品| 97国产成人精品视频| 国产精品青青在线观看爽香蕉| 日韩动漫免费观看电视剧高清| 性欧美激情精品| 日韩美女中文字幕| 精品久久久一区二区| 亚洲图片在区色| 亚洲精品一区二三区不卡| 国产精品视频免费在线观看| 亚洲国产小视频| 日本精品中文字幕| 日韩精品久久久久久福利| 91九色单男在线观看| 国产精品免费一区二区三区都可以| 欧美性猛交xxxx免费看| 青青草成人在线| 亚洲人成电影网站色| 日韩最新免费不卡| 国产91色在线免费| 岛国视频午夜一区免费在线观看| 欧美精品成人91久久久久久久| 亚洲国产成人精品久久久国产成人一区| 亚洲综合中文字幕在线观看| 人九九综合九九宗合| 欧美一级淫片aaaaaaa视频| 亚洲成人网在线观看| 色婷婷综合久久久久中文字幕1| 欧美电影电视剧在线观看| 国产精品黄页免费高清在线观看| 国产免费一区二区三区在线能观看| 欧洲成人在线视频| 国产精品久久久久久久久久99| 日韩亚洲国产中文字幕| 国产精品久久久久免费a∨| 欧美性高潮床叫视频| 在线a欧美视频| 欧美午夜片欧美片在线观看| 日韩国产精品视频| 欧美巨猛xxxx猛交黑人97人| 国产精品日韩av| 97av视频在线| 91精品国产成人www| 国产成人91久久精品| 91精品久久久久久久久久| 欧美激情精品在线| 久久久久国产一区二区三区| 欧美日韩国产丝袜美女| 午夜精品久久久久久久久久久久久| 亚洲综合精品伊人久久| 92国产精品久久久久首页| 欧美亚洲第一页| 亚洲国产天堂网精品网站| 免费97视频在线精品国自产拍| 精品国产拍在线观看| 久久免费成人精品视频| 在线观看91久久久久久| 91精品国产乱码久久久久久蜜臀| 国产精品a久久久久久| 成人免费网站在线看| 亚洲一级片在线看| 亚洲第一色在线| 成人性教育视频在线观看| 亚洲国产高清高潮精品美女| 亚洲性视频网站|