日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

html 搜索框 自动补全,自动完成的搜索框javascript实现

發布時間:2024/1/23 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html 搜索框 自动补全,自动完成的搜索框javascript实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自動完成的搜索框javascript實現

2019-01-04

編程之家

https://www.jb51.cc

編程之家收集整理的這篇文章主要介紹了自動完成的搜索框javascript實現,編程之家小編覺得挺不錯的,現在分享給大家,也給大家做個參考。

在很多需要搜索的網站,都會有一個自動完成的搜索框. 方便用戶查找他們想要的搜索詞. 幫助用戶快速找到自己想要的結果. 這種方式是比較友好的. 所以是比較提倡使用的.

我們這次就來實現這一效果. 我們通過兩篇文章來進行講解. 首先我們來完成界面的設計布局.

界面的HTML結構,第一個少不了的是一個搜索框,第二個就是搜索的點擊按鈕.

這就是最簡單的搜索框的設計. 那CSS代碼怎么處理. 以前用得多的是使用float來進行處理,然后給搜索框一個邊框,設置一個padding. 然后給按鈕去除邊框,設置一個背景. 這里我們使用flex布局方式. 這樣更簡便點. 不用考慮清除浮動效果.當然這里就要考慮兼容性問題了.

這時候我們繼續往下考慮,如果用戶輸入了關鍵詞,那就得顯示一個列表的相關詞語. 那這時候我們需要加入一個詞語列表.

比如

我們將這行代碼追加到.search的內容后面.然后設置CSS代碼,我們設置他的最小寬度為.search寬度減去搜索按鈕的寬度.這樣就跟搜索框一樣寬.

這得在CSS代碼之前,將默認的一些瀏覽器樣式清除.最后效果如下.

好了.下面我們完成JS的代碼控制.

我們來分析下,其中的事件. 用戶在輸入框輸入文字后,將輸入的文字與后臺數據做查詢,查詢到后返回給客戶端,然后將返回的數據顯示在數據列表下.

根據這個步驟,我們首先是獲取輸入框標簽,給這個標簽添加onkeyup事件

這里我們模擬一個后臺數據,這里用數據來表示,然后加入一些數據

后臺數據有了,事件也添加了. 這時候我們對數據進行處理了.

首先是獲取用輸入的數據,來然后與后臺數據進行比較. 然后將比較后的數據保存在一個數據里面.

var val = this.value;

//獲取輸入框里匹配的數據

var srdata = [];

for (var i = 0; i < data.length; i++) {

console.log(data[i].indexOf(val))

if (val.trim().length > 0 && data[i].indexOf(val) > -1) {

srdata.push(data[i]);

}

}

}

繼續往下分析,目前我們獲取到后臺查詢到的數據后,那就得將這個數據顯示給用戶查看,這里我們顯示在數據列表中.

var val = this.value;

//獲取輸入框里匹配的數據

var srdata = [];

for (var i = 0; i < data.length; i++) {

console.log(data[i].indexOf(val))

if (val.trim().length > 0 && data[i].indexOf(val) > -1) {

srdata.push(data[i]);

}

}

//獲取到的數據準備追加顯示,前期要做的事情: 清空數據,然后顯示數據列表,如果獲取到的數據為空,則不顯示

var ele_datalist = document.getElementById("datalist");

ele_datalist.style.visibility = "visible";

ele_datalist.innerHTML = "";

if (srdata.length == 0) {

ele_datalist.style.visibility = "hidden";

}

//將搜索到的數據追加到顯示數據列表,然后每一行加入點擊事件,點擊后將數據放入搜索框內,數據列表隱藏

var self = this;

for (var i = 0; i < srdata.length; i++) {

var ele_li = document.createElement("li");

var ele_a = document.createElement("a");

ele_a.setAttribute("href","javascript:;");

ele_a.textContent = srdata[i];

ele_a.onclick = function () {

self.value = this.textContent;

ele_datalist.style.visibility = "hidden";

}

ele_li.appendChild(ele_a);

ele_datalist.appendChild(ele_li);

}

}

在添加數據到列表中時,我們首先對數據列表做初始化處理,避免重復數據的添加. 其次就是我們給數據列表的每一行添加了一個點擊事件,數據列表隱藏.

在這里整個自動完成的搜索框就完成了.我們來測試下效果.

這里可能是錄制軟件問題,邊框與它錄制的背景顏色應該一樣了. 邊框不見了(⊙﹏⊙)b

以上就是JAVASCRIPT實現搜索框的自動完成效果,大家可以自己測試玩玩!

總結

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

小編個人微信號 jb51ccc

喜歡與人分享編程技術與工作經驗,歡迎加入編程之家官方交流群!

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的html 搜索框 自动补全,自动完成的搜索框javascript实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧洲黄色片 | 日本午夜在线视频 | 国产精品无码电影在线观看 | 亚洲欧美在线不卡 | 亚洲综合一区在线观看 | 91丝袜美女| 按摩毛片 | 在线观看欧美日韩视频 | 香蕉av网 | 中文亚洲欧美 | 国产又粗又硬又黄的视频 | 国产精品字幕 | 欧美区一区二 | 在线爽| 成人久久网站 | 喷潮在线观看 | 欧美毛片在线观看 | 亚洲乱色 | 国产又粗又硬视频 | 亚洲综合福利 | 欣赏asian国模裸体pics | 国产成人精品一区二区三区四区 | 福利毛片 | 中文字幕免费高清在线观看 | 国产精品系列在线播放 | 久久99国产精品成人 | 成年人晚上看的视频 | 久久黄网| 成人你懂的 | 国产一区h | 成人网页 | 中文字幕一区二区三区电影 | 日本www高清 | 欧美日韩在线二区 | 亚洲精品一区二区三区蜜桃久 | 91国产免费观看 | 国产一卡二卡三卡 | 越南av| 欧美三级在线看 | 欧美一区二区三区爱爱 | 免费三级av| 特黄特色大片免费视频大全 | 综合激情在线 | 精品色综合 | 在线看黄色网址 | 久久资源总站 | 鲁丝一区二区三区 | 国产一区二区久久精品 | 久热一区 | 国产精品99精品无码视亚 | 日本黄色三级视频 | 玖玖色资源 | 欧美8888 | 成人免费一区二区三区在线观看 | 加勒比在线一区 | 日本午夜免费福利视频 | 天堂成人国产精品一区 | 粉嫩精品久久99综合一区 | 麻豆视频网站在线观看 | 日韩在线观看视频免费 | 五月天狠狠干 | 国产91免费观看 | 久久午夜无码鲁丝片午夜精品 | 国产成人短视频 | 国产精品久久婷婷 | 久久久久久一区二区三区 | 亚洲色图 一区二区 | 精品国产理论 | 国产鲁鲁视频在线观看特色 | 国产另类精品 | 最近免费中文字幕中文高清百度 | 少妇一区二区三区四区 | av免费不卡| 亚洲黄色片子 | 欧美精品久久久久性色 | 91精品视频一区二区三区 | 偷自在线 | 国产精品xxx | 久久综合成人网 | 免费在线黄色av | 午夜激情av在线 | 成人毛片视频免费看 | 综合一区在线 | 99久久精品一区 | 我要看免费的毛片 | 91手机在线 | 国产又粗又大又爽 | 成人在线免费小视频 | 亚洲免费观看高清完整版在线 | 久久久国产精品视频 | 成人国产欧美 | 先锋影音在线 | a在线一区| 看一级黄色片 | 国产精品扒开腿做爽爽爽男男 | 欧美第1页| 亚洲人毛茸茸 | 亚洲深夜视频 | 天天想你在线观看完整版电影高清 |