在現代的 Web 應用程式中,自動提示功能是非常基本的功能之一。自動提示可以讓使用者方便地在輸入框中輸入內容時獲得智慧提示並加速輸入速度,這樣可以大大縮短使用者等待載入結果時的時間。
那麼,要如何使用 jQuery 來實現自動提示功能呢?以下就介紹一下具體的實作過程。
一、準備工作
在開始實作前,首先需要準備好 jQuery 函式庫及相關的 CSS 檔案。可以選擇從官網下載庫檔案並在 HTML 檔案中引入,也可以使用 CDN 加速庫檔案的載入速度。
在 CSS 檔案方面,可以使用 Bootstrap 提供的樣式來美化提示框的外觀。不過,這並不是必要的步驟。如果不需要美化樣式,可以不用引入樣式檔案。
二、取得資料
自動提示需要提供一個資料來源,也就是在使用者輸入內容時,從該資料來源取得與輸入內容相關的提示資訊並顯示在使用者面前。這個資料來源可以是一個 JSON 檔案、一個資料庫表或是一個 API 介面。
在本例中,我們採用了一個簡單的 JSON 檔案作為資料來源。這個檔案包含了一些城市的名稱,我們將在使用者輸入時為其提供智慧提示。
在檔案引入方面,可以使用 AJAX 方法從伺服器中取得 JSON 資料。為了方便,這裡我們直接在 HTML 檔案中引入。
三、寫程式碼
接下來,我們就可以開始寫程式碼了。
- HTML 結構
在 HTML 結構中,我們需要一個輸入框及一個提示框來顯示智慧提示內容。具體架構如下:
<input id="search-box" type="text" placeholder="输入城市名" /> <div id="suggestion-box"></div>
- jQuery 程式碼
首先需要在文件載入完成之後取得文字方塊和提示方塊元素,並在文字方塊中綁定一個keyup 事件,當使用者輸入時,觸發該事件。
接著,對於每次輸入,我們都要從資料來源中獲取與輸入內容相關的提示訊息,並將其顯示在提示框中。
具體程式碼如下:
$(document).ready(function() { // 获取输入框和提示框元素 var searchBox = $('#search-box'); var suggestionBox = $('#suggestion-box'); // 绑定 keyup 事件 searchBox.keyup(function() { // 获取输入框的值 var currentText = searchBox.val(); // 根据输入框的值从数据源中获取匹配的提示信息 var filteredData = data.filter(function(item) { return item.toLowerCase().indexOf(currentText.toLowerCase()) > -1; }); // 根据获取到的提示信息生成提示框的内容 var html = ''; for (var i = 0; i < filteredData.length; i++) { html += '<div class="item">' + filteredData[i] + '</div>'; } // 将生成的内容填充到提示框中 suggestionBox.html(html); }); });
其中,data 表示一個全域變量,用於儲存從資料來源中取得到的資訊。這裡我們先將其簡單地定義成了一個包含城市名稱的數組,其具體內容如下:
var data = ['北京', '上海', '广州', '深圳', '杭州', '南京', '武汉', '成都'];
- CSS 樣式
除了JavaScript 程式碼外,還需要一些CSS 樣式來美化提示框。在這裡,我們使用了Bootstrap 提供的樣式,程式碼如下:
#suggestion-box { position: relative; z-index: 999; background: #fff; border: 1px solid #ddd; border-radius: 3px; cursor: pointer; } #suggestion-box .item { padding: 5px 10px; font-size: 14px; } #suggestion-box .item:hover { background: #f5f5f5; }
四、總結
透過上述程式碼,我們實作了一個簡單的自動提示功能,可以為使用者提供智慧提示並加速輸入速度。當然,在實際的應用程式中,還可以進行更多的最佳化工作,例如使用快取來加速資料來源的存取速度,使用非同步載入來避免阻塞頁面等等。
以上是jquery 實作自動提示功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了React中的使用效應,這是一種用於管理副作用的鉤子,例如數據獲取和功能組件中的DOM操縱。它解釋了用法,常見的副作用和清理,以防止記憶洩漏等問題。

本文討論了JavaScript中的咖哩,這是一種將多重題材函數轉換為單詞彙函數序列的技術。它探討了咖哩的實施,諸如部分應用和實際用途之類的好處,增強代碼閱讀

JavaScript中的高階功能通過抽象,常見模式和優化技術增強代碼簡潔性,可重複性,模塊化和性能。

文章討論了使用Connect()將React組件連接到Redux Store,解釋了MapStateToprops,MapDispatchToprops和性能影響。

本文解釋了React中的UseContext,該文章通過避免道具鑽探簡化了狀態管理。它討論了通過減少的重新租賃者進行集中國家和績效改善之類的好處。

文章討論了使用DestrestDefault()方法在事件處理程序中預防默認行為,其好處(例如增強的用戶體驗)以及諸如可訪問性問題之類的潛在問題。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1
好用且免費的程式碼編輯器