jQuery輸入框聯(lián)想,是指在輸入框中輸入某個字符時,根據(jù)已有的數(shù)據(jù)列表,以自動提示下拉列表的形式呈現(xiàn)與所輸入字符相關(guān)的數(shù)據(jù)信息。這種功能常常在網(wǎng)站的搜索框、注冊表單等地方使用,可以方便用戶快速準(zhǔn)確地輸入所需信息。
實現(xiàn)jQuery輸入框聯(lián)想,需要用到j(luò)Query庫中的部分函數(shù),以及對HTML和CSS的一定理解和操作能力。在開始編寫代碼前,我們需要先確定數(shù)據(jù)源和呈現(xiàn)形式。數(shù)據(jù)源可以是一個后臺的接口,或者是前端事先準(zhǔn)備好的json數(shù)據(jù)對象。呈現(xiàn)形式可以是下拉列表,也可以是其他形式。
//以下拉列表的形式實現(xiàn)jQuery輸入框聯(lián)想 <input type="text" id="keyword"><button id="searchbtn">搜索</button> <ul id="list"></ul> //JavaScript代碼如下 $(document).ready(function(){ $('#keyword').keyup(function(){ //獲取輸入內(nèi)容 var search = $(this).val(); //如果沒有輸入,則清空下拉列表 if(search == ''){ $('#list').html(''); return; } //通過Ajax獲取數(shù)據(jù)源 $.ajax({ url: 'search.php', dataType: 'json', data: {'search':search}, success: function(data){ //清空下拉列表 $('#list').html(''); //將匹配的數(shù)據(jù)呈現(xiàn)到下拉列表中 for(var i=0;i<data.length;i++){ $('#list').append('<li><a href="'+data[i].url+'">'+data[i].title+'</a></li>'); } }, error: function(){ alert('搜索出錯'); } }); }); //點擊搜索按鈕提交表單 $('#searchbtn').click(function(){ $('#searchform').submit(); }); });
以上代碼實現(xiàn)了一個基本的輸入框聯(lián)想功能,當(dāng)用戶在輸入框中輸入內(nèi)容時,系統(tǒng)自動從后臺接收數(shù)據(jù)源,并將匹配的數(shù)據(jù)呈現(xiàn)在下拉列表中。用戶也可以直接點擊搜索按鈕提交表單,即可獲取所需信息。